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 楼答案
你需要的是一个游戏循环。例如,一个永无止境的while循环(无止境循环),如果需要,它会更新你的英雄位置
这是一个非常基本的例子,但它应该让事情变得清楚
因为我假设您使用的是java,所以可以看看一些游戏框架,比如jgame。这些框架采用了类似的方法,使其更易于使用
编辑:
请注意,现在处理器的运行速度非常快,这种无休止的循环通常会在很短的时间内运行(比如每秒1000多次)。所以你可能必须限制这个循环的执行时间,否则你的英雄就会更快地出现在屏幕之外
你可以通过睡眠或类似的方式来达到这个目的。我提到的这些框架也有这个限制