制作Galaga游戏,无法正确进行射击

时间:2018-11-25 20:04:35

标签: java

我目前是学生,这个项目只是我的爱好。

所以我的游戏应该是与Galaga类似的游戏。我无法拒绝枪击事件。我使用的是“ KeyDown”语句,但这意味着您需要按住空间才能进行拍摄,而我希望能够仅点击空间并将其向前移动,直到地图末端或命中敌人。任何帮助表示赞赏。

这是我的射击和移动代码:

// Controls

if (keyDown("left")) {
    player.x = player.x -10;
}

if (keyDown("right")) {
    player.x = player.x +10;
}

if (keyDown("space")) {
    laser.y = laser.y -10;
}

if ((laser.y) <= 0) {
   laser.x = player.x +10;
   laser.y = player.y -20;
}

if (keyDown("space")) {
   laser.visible = true;
} else {
   laser.visible = false;
   laser.x = player.x +10;
   laser.y = player.y -20;
}

1 个答案:

答案 0 :(得分:1)

您需要的是某种“游戏循环”。您应该在这样的文章中阅读它:Game Loops

最后:如果您在Java游戏中实现了某种“游戏循环”,则可以计算其中的实际“激光”运动(x / y)。您还应该在此循环中执行所有冲突处理。

我希望这可以帮助您开始开发游戏!干杯。