所以我为我的FishingPole类制作了代码,并制作了一个Player的实例。
Player player = new Player();
ImageLoader loader = new ImageLoader();
BufferedImage imageFile = loader.loadImage("/Pictures/fishingLine.png");
BufferedImage image = imageFile;
public double x, y;
public static final double FIXED_Y = 251;
Game game;
public FishingPole(Game game){
this.game = game;
}
public void tick(){
x = player.getX();
}
public void render(Graphics g){
g.drawImage(image, (int)x, (int)y, game);
}
public void moveDown(){
}
public void reelIn(){
}
tick方法每次进入我的游戏循环。但是,钓鱼线图像不随我的播放器移动。我试图这样做,看看我的getX()方法是否工作
public void tick(){
x = player.getX();
System.out.println(player.getX());
}
那个时候,当我移动我的播放器时,它一直在说我的播放器的默认位置。我也在其他类中测试了这个方法,它运行正常。这是我的getX()方法的代码。
public double getX() {
return this.x;
}
答案 0 :(得分:1)
您似乎在类的顶部创建了一个新的Player()实例。尝试在构造函数中传入Player对象(就像使用Game一样),然后从中获取X.
您的代码如下所示:
Player player = null;
[snip]
public FishingPole(Game game, Player player){
this.game = game;
this.player = player;
}