おそらく非常に基本的な Java の問題ですが、エンティティ クラスに 2 つの変数があります。
public class Entity {
int posX;
int posY;
public Entity(int posX, int posY){
this.posX = posX;
this.posY = posY;
}
public void update(){
}
public void draw(Graphics2D g2d){
}
}
私のプレーヤーと敵のクラスはそれを拡張し、2 つの変数からレンダリングします。そのようです:
public void draw(Graphics2D g2d) {
g2d.drawImage(getPlayerImg(), posX, posY, null);
if (showBounds == true) {
g2d.draw(getBounds());
}
}
これらの変数に次のようにアクセスする必要があります (これは敵のクラスにあります)。
public static void moveFemale(){
if(posX <= Player.posX){
//do AI code
}
}
posX と Player.posX は、Entity.java の posX の修飾子を static に変更する必要があるというエラーをスローします。しかし、静的に変更すると、敵クラスのレンダラーが機能しなくなり、敵が画面に表示されなくなります。これを可能にする変数を作成するにはどうすればよいですか。
public static void moveFemale(){
if(posX <= Player.posX){
//do AI code
}
}
それでも私の敵をレンダリングしますか?テキストの壁で申し訳ありません。回答があれば大いに役立ちます。