Это немного сбивает с толку, и трудно сказать, что делает ваш код, не могли бы вы предоставить ссылку?
С точки зрения того, что ваш игрок должен двигаться, когда клавиша нажата, я могу дать несколько советов. То, как работают события onkeydown, заключается в том, что, пока клавиша не нажата, событие будет запущено.
На вашем месте я бы имел логическое значение, которое представляет, была ли нажата эта клавиша или нет. В случае события keydown вы устанавливаете его значение true, в случае события keyup вы устанавливаете значение false .:
$(window).keydown(
function(e){
bool_keyDown = true;
}
);
$(window).keyup(
function(e){
bool_keyDown = false;
}
);
Обратите внимание, что это работает для любой клавиши, вам нужно указать, какую вы хотите в функции keydown, но вы можете оставить ее общей в функции keyup. В своем тикере вы проверяете, правда ли это. В случае, если это правда, вы запускаете функциональность gotoandplay в своей таблице спрайтов:
function HandleInput()
{
if(bool_keyDown)
playerSequence[playerID].gotoAndPlay("walk_up");
}
Это не относится ни к одному из ключей. Таким образом, вы можете изменить его с bool на строку. Может быть, есть строки «вверх», «вниз», «влево», «вправо» и т. Д., И ноль, если ни одна клавиша не нажата. Надеюсь это поможет.
- Ashley