有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java移动动画在2d游戏中的应用

我正在制作一个简单的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) 个答案

  1. # 1 楼答案

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

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

    这是一个非常基本的例子,但它应该让事情变得清楚

    因为我假设您使用的是java,所以可以看看一些游戏框架,比如jgame。这些框架采用了类似的方法,使其更易于使用

    编辑:

    请注意,现在处理器的运行速度非常快,这种无休止的循环通常会在很短的时间内运行(比如每秒1000多次)。所以你可能必须限制这个循环的执行时间,否则你的英雄就会更快地出现在屏幕之外

    你可以通过睡眠或类似的方式来达到这个目的。我提到的这些框架也有这个限制