#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 там.