gpt4 book ai didi

按住键时的Javascript easelJS动画

转载 作者:行者123 更新时间:2023-11-27 22:45:00 25 4
gpt4 key购买 nike

我正在尝试使用 easelJS 制作一个 HTML5 RPG 游戏来处理 Sprite 动画。当我向任何方向按下箭头键时, Angular 色不会播放动画,而是跳回到第 0 帧并停止而不是循环播放动画。

我需要的是在按下键时继续循环的动画,而不是 Angular 色卡在帧中。

这是我到目前为止的游戏,它真的很乱,因为我正在试验并且仍在学习 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;
}
}

我想知道的是如何在按住箭头键的同时为玩家 Sprite 设置动画?

最佳答案

这有点困惑,很难说出你的代码在做什么,你能提供一个链接吗?

关于让您的玩家在按键按下时移动,我可以提供一些建议。 onkeydown 事件的工作方式是只要按下键,就会触发该事件。

如果我是你,我会用一个 bool 值来表示他们的键是否被按下。在 keydown 事件上,您将其设置为 true,在 keyup 事件上,您将其设置为 false。:

$(window).keydown(
function(e){
bool_keyDown = true;
}
);
$(window).keyup(
function(e){
bool_keyDown = false;
}
);

请注意,这适用于任何键,您必须在 keydown 函数中指定您想要的键,但您可以在 keyup 函数中保留它的通用性。在您的代码中,您检查它是否为真。如果是,则在 spritesheet 上运行 gotoandplay 功能:

function HandleInput()
{
if(bool_keyDown)
playerSequence[playerID].gotoAndPlay("walk_up");
}

这不特定于任何一个键。因此,您可能希望将其从 bool 值更改为字符串。可能有字符串“up”、“down”、“left”、“right”等,没有按键时为 null。希望这可以帮助。

--阿什莉

关于按住键时的Javascript easelJS动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8056253/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com