public class Game {
public class Truck {
private float x,y;
public Truck() {}
public float getX() {return this.x;}
public float getY() {return this.y;}
}
public class Fort {
public Fort() {
float x = truck.getX();
float y = truck.getY();
}
}
public Truck truck = new Truck();
public Fort fort = new Fort();
}
初学者Java程序员尝试制作游戏。
当我尝试获取Fort的class方法中使用的卡车的x和y值时出现错误。那么可以从另一个子类中调用方法吗?
这是我得到的错误:
Exception in thread "LWJGL Application" java.lang.NullPointerException
at com.kroy.game.ETFortress.getTruckDistance(ETFortress.java:178)
at com.kroy.game.ETFortress.<init>(ETFortress.java:60)
at com.kroy.game.KroyGame.create(KroyGame.java:45)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:151)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:128)
最佳答案
那是因为您要在一个类中创建类。
将游戏,卡车和堡垒类分为不同的类。
在堡垒类中,创建卡车的实例:
私人卡车
在Fort构造函数中,将Truck作为参数传递,并将Truck的x和y设置为参数。
现在,您可以从Fort内部访问Truck的getX()和getY()方法。
在游戏中创建Fort类的实例。现在,您所有的课程都已连接。
如果您确实是初学者,请在尝试玩游戏之前先学习基础知识。您最终将到达那里,但是请先弄清楚所有代码段如何可以一起工作。然后,您可以做任何事情。
祝好运!