Удаление «заикания» при движении Flash

#flash #actionscript

#flash #actionscript

Вопрос:

Я заметил, что при программировании простого движения в ActionScript (например, object.x = 5), когда клавиша клавиатуры удерживается нажатой, чтобы вызвать движение, создается заикание во внешнем виде движения. Есть ли способ удалить это или сделать его более плавным?

Ответ №1:

Попробуйте что-то вроде этого:

 stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDown);
stage.addEventListener(KeyboardEvent.KEY_UP, keyDown);
someMC.addEventListener(Event.ENTER_FRAME, enterFrameUpdate);
var isADown:Boolean = false;

function keyDown(e:KeyboardEvent){
   if(e.keyCode == Keyboard.A){
       isADown = true;
   }
}

function keyUP(e:KeyboardEvent){
   if(e.keyCode == Keyboard.A){
       isADown = false;
   }
}

function enterFrameUpdate(e:Event){
    if(isADown){
         myMovieClip.x -= 3;
    }
}
  

Импортируются:

 flash.events.KeyboardEvent;
flash.events.Event;
flash.ui.Keyboard;
//and a few more
  

Также увеличьте частоту кадров в секунду swf, если это все еще отрывистое (но равномерное) движение. Нажмите на пустую часть сцены (главный экран), а затем CTRL-F3 или экран свойств, и вы сможете изменить FPS там.