0

所以我正在用Java制作一种太空游戏。目前,如果用户不做任何事情,航天器会保持原位,并根据用户的按键输入以恒定速度沿不同方向移动。

我想改一下,让飞船在移动的时候,随着用户不断按键,飞船的速度会加快。

在我的移动方法中,我目前有

public void move() {
    x += dx;
    y += dy;
}

我试过做这样的事情

public void move() {
    x *= dx;
    y *= dy;
}

但是不断增加值会使航天器移动得太快。

有没有另一种方法来做到这一点?

提前致谢。

4

1 回答 1

1

看起来您需要dx根据您选择的键盘事件进行更改。所以:

  • 编写一个监听器来捕获按键
  • 测试密钥以查看它是否是您想要的(向上箭头、向下箭头等)
  • 相应地增加/减少dx(测试最小/最大值)。您可以根据 ? 的当前值在这里做一些有趣的物理公式dx

然后,当宇宙飞船moves,dx将变大或变小,取决于用户按了多少次键。

于 2012-11-29T01:32:20.537 回答