我制作了这些方法:
public Player(double x, double y){
this.x = x;
this.y = y;
ImageLoader loader = new ImageLoader();
SpriteSheet ss = new SpriteSheet(loader.loadImage("/Pics/TheSpriteSheet.png"));
this.image = ss.grabImage(1, 1, 32, 32);
}
public void tick(){
this.x++;
}
public void render(Graphics g){
g.drawImage(image, (int) x, (int) y, null);
}
然后我将它放在我的主类中的tick方法中,每隔纳秒左右调用一次。
public void tick(){
playerClass.tick();
}
答案 0 :(得分:5)
看起来您只是更新了太空飞船的x位置,但您没有重新绘制屏幕。因此,x位置会增加,但您不会在屏幕上看到它!
您可以使用spaceShip.repaint();