我正在尝试使用easelJS 制作一个HTML5 RPG 游戏来处理精灵动画。当我在任何方向按箭头键时,角色不会播放动画,而是似乎跳回第 0 帧并停止而不是循环动画。
我需要的是动画在按下键时继续循环,而不是角色卡在帧中。
这是我到目前为止的游戏,它真的很乱,因为我正在试验并仍在学习 HTML5。 http://cloudrealms.com/dev/
这是我正在使用的代码:
箭头键捕获:
$(window).keydown(
function(e){
keys[e.which] = true;
if(isMovementKey(e.which))
{
moveOrder.unshift(e.which);
jQuery.unique(moveOrder);
animationsToPlay.push(1);
}
e.preventDefault();
return false;
}
);
$(window).keyup(
function(e){
keys[e.which] = false;
if(isMovementKey(e.which))
{
moveOrder.splice(jQuery.inArray(e.which, moveOrder),1);
}
}
);
在我的勾选中,我有一个名为 HandleInput() 的函数,代码如下:
function HandleInput()
{
switch (moveOrder[0]) {
case 38: /* Up arrow was pressed */
playerSequence[playerID].gotoAndPlay("walk_up");
playerSequence[playerID].y -= playerSequence[playerID].vY;
break;
case 40: /* Down arrow was pressed */
playerSequence[playerID].gotoAndPlay("walk_down");
playerSequence[playerID].y += playerSequence[playerID].vY;
break;
case 37: /* Left arrow was pressed */
playerSequence[playerID].gotoAndPlay("walk_left");
playerSequence[playerID].x -= playerSequence[playerID].vX;
break;
case 39: /* Right arrow was pressed */
playerSequence[playerID].gotoAndPlay("walk_right");
playerSequence[playerID].x += playerSequence[playerID].vX;
break;
}
}
我想知道的是如何在按住箭头键的同时为玩家精灵设置动画?