Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 蛇形游戏-按下按钮后自动向一个方向移动_Javascript_Java_Function - Fatal编程技术网

Javascript 蛇形游戏-按下按钮后自动向一个方向移动

Javascript 蛇形游戏-按下按钮后自动向一个方向移动,javascript,java,function,Javascript,Java,Function,所以我在自动运动方面有问题 我使用的代码是 if (myGameArea.key && myGameArea.key == 40) { snake.y ++; } 这是移动,但只有在按住键的情况下,才有办法让对象在按下按钮后自动向一个方向移动。对不起,如果这是一个愚蠢的问题,我真的不是一个有经验的程序员。我会使用标志,当你按下一个键时,将标志设置为true一段时间。当你按下一个键,转到一个移动函数,让它移动标志的方向,直到另一个键被按下,或者你碰到一个墙。

所以我在自动运动方面有问题 我使用的代码是

if (myGameArea.key && myGameArea.key == 40) {
      snake.y ++;
    }

这是移动,但只有在按住键的情况下,才有办法让对象在按下按钮后自动向一个方向移动。对不起,如果这是一个愚蠢的问题,我真的不是一个有经验的程序员。

我会使用标志,当你按下一个键时,将标志设置为true一段时间。当你按下一个键,转到一个移动函数,让它移动标志的方向,直到另一个键被按下,或者你碰到一个墙。

< P>你应该考虑给蛇对象另一个属性:速度!由于您处理的是两个维度,您可以将vx和vy定义为速度的两个分量,并且当按下一个键时,您可以将速度更改为适当的值,例如:

if (myGameArea.key && myGameArea.key==40) {
    snake.vx = 0;
    snake.vy = 1;
}
除此之外,在snake对象内部,您应该通过更新当前位置来定义位置。对于这个,你只需要加上当前的速度


希望这能让你走上工作蛇游戏的道路!如果没有,请告诉我,我可以尝试提供更多帮助。

您已经标记了javascript和java。。。也就是说,这还不足以帮助你。无论哪种方式,您都需要执行循环a,直到按下下一个方向。如果myGameArea.key&&myGameArea.key==40{whiletrue snake.y++;},那么您可能需要为snake游戏执行其他操作