PDA

Просмотр полной версии : Движение персонажа


ambuddy
12.12.2007, 01:39
Добрый день.

http://dn1.ru/rat - здесь лежит флэка с толстым крысом. Он двигается взад, вперед клавишами-стрелками. Обратите внимание, что если давить постоянно на клавишу, то он какое-то время не двигается, а потом начинает перемещаться. В связи с этим первый (1) вопрос: как от этого избавиться? И второй(2) вопрос. Как заставить его перемещаться ьыстрее, но при этом плавно. Вот код:stop();

RAT.stop();
var moveSpeed:Number = 3.5;


// ============================================
// ДВИГАЕМ КРЫСА
// ============================================
ratMoveListener = new Object();
ratMoveListener.onKeyDown = function() {
// Жмем ВПРАВО
if(Key.isDown(Key.RIGHT)) {
RAT._xscale = 100;
RAT._x = RAT._x + moveSpeed;

}

// Жмем ВЛЕВО
if(Key.isDown(Key.LEFT)) {
RAT._xscale = -100;
RAT._x = RAT._x - moveSpeed;
}
RAT.play();
}
ratMoveListener.onKeyUp = function() {
RAT.stop();
}
Key.addListener( ratMoveListener ); P.S. И еще просьба, подсказать, как вообще заставить его перемещаться нормально? Может я в корне не с той стороны зашел?

DarkLight
12.12.2007, 01:44
При нажатии клавиши определяйте ее код через getCode и запускайте onEnterFrame с проверкой Key.isDown, на onKeyUp - убирайте проверку. Таким образом работать будет именно сразу после нажатия и при удержании, а не засчет автоматического повторения onKeyDown при удержании клавиши.