我正在创建一个小型太空入侵者项目,并且我让外星人不断地从左到右循环。当他们到达屏幕的尽头时,他们会在右侧重新绘制,然后再从左到右。我已经设置了窗口大小,并且查看了有关如何在 Java 中制作空间入侵者的各种教程,但是其中大多数都说与我尝试过的相同的事情。是否有人可以指出我的编码哪里出了问题,以便我知道如何解决它。
这是外星人类的代码。有不同的外星人,但是所有的类看起来都和这个几乎一样:
package spaceinvaders2;
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.ImageIcon;
class Alien extends MoveObject
{
Image Alien = new ImageIcon(getClass().getResource("alien.gif")).getImage();
Alien(int x, int y, int w, int h)
{
super(x, y);
bounds.width = w;
bounds.height = h;
}
public void paint(Graphics g)
{
System.out.println("Alien generated");
bounds.x = bounds.x - 2;
if ((bounds.x + bounds.width)< 0)
{
bounds.x = 750;
dead = false;
}
g.drawImage(Alien,bounds.x,bounds.y,bounds.width, bounds.height, this);
}
}
编辑:我的绘画方法在主要游戏功能部分被调用,它绘制所有图形。绘图不是问题,而是这个班级的外星人的运动。