Помогите пожалуйста! Как сделать так, чтобы при нажимании стрелки (движения персонажа) начала проигрываться анимация движения. Я использую такой код:
Код
var leftKeyDown:Boolean = false;
var upKeyDown:Boolean = false;
var rightKeyDown:Boolean = false;
var downKeyDown:Boolean = false;
var mainSpeed:Number = 7;
Man.addEventListener(Event.ENTER_FRAME, moveChar);
function moveChar(event:Event):void
{
if (leftKeyDown)
{
Man.x -= mainSpeed;
Man.gotoAndPlay(3); //переключение на анимацию движения влево
}
if (rightKeyDown)
{
Man.x += mainSpeed;
Man.gotoAndPlay(2); //переключение на анимацию движения вправо
}
}
stage.addEventListener(KeyboardEvent.KEY_DOWN, checkKeysDown);
function checkKeysDown(event:KeyboardEvent):void
{
if (event.keyCode == 37 || event.keyCode == 65)
{
leftKeyDown = true;
}
if (event.keyCode == 39 || event.keyCode == 68)
{
rightKeyDown = true;
}
}
stage.addEventListener(KeyboardEvent.KEY_UP, checkKeysUp);
function checkKeysUp(event:KeyboardEvent):void
{
if (event.keyCode == 37 || event.keyCode == 65)
{
leftKeyDown = false;
Man.gotoAndPlay(1); //переключение на анимацию стояния на месте
}
if (event.keyCode == 39 || event.keyCode == 68)
{
rightKeyDown = false;
Man.gotoAndPlay(1);
}
}
Проблема заключается в том, что когда зажимаешь кнопку движения, анимация останавливается на первом кадре и не проигрывается дальше. Поправьте код пожалуйста.