在2D游戏中移动动画

时间:2012-06-18 08:23:00

标签: java 2d

我正在制造一个像太空入侵者一样简单的二维射击游戏,我想只是水平地移动我的“敌人”,以相同的速度从一侧移动到另一侧。 我怎么能这样做?

我已经使用KeyListener为我的“英雄”做了这件事,但我不知道如何自动完成。

这里有一些可能有用的代码。

public SimpleEnemy(String linkimg, int x, int y, int life) {
    super(linkimg, x, y);
    this.life=life;
    this.isMoving=false;
}

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

1 个答案:

答案 0 :(得分:0)

你需要的是一个游戏循环。例如,一个永不结束的while循环(无限循环),如果需要,它会更新你的英雄位置。

while (true) {
    // insert statement if move is needed here
    move();
}

这是一个非常基本的例子,但它应该清楚。

由于我假设您使用的是Java,因此您可以查看一些游戏框架,例如jgame。这些框架采用了类似的方法,使其更加舒适。

编辑:

请注意,处理器现在运行得非常快,这个无限循环将在很短的时间内运行(例如每秒1000次以上)。因此,您可能必须限制此循环的执行时间,否则您的英雄将更快地在屏幕之外。

你可以通过睡眠或类似的东西来实现这一点。我提到的这些框架也将受到这种限制。