Java libgdx如何从另一个非主类设置摄像机的位置?[爪哇]
我认为这是一个非常基本的java问题。我有两个类:Main和InputManager类:Java libgdx如何从另一个非主类设置摄像机的位置?[爪哇],java,oop,inheritance,libgdx,Java,Oop,Inheritance,Libgdx,我认为这是一个非常基本的java问题。我有两个类:Main和InputManager类: public class InputManager implements InputProcessor { Main main = new Main(); @Override public boolean keyDown(int keycode) { switch (keycode) { case Keys.A:
public class InputManager implements InputProcessor {
Main main = new Main();
@Override
public boolean keyDown(int keycode) {
switch (keycode) {
case Keys.A:
System.out.println(main.cam.position.set(1, 0, 0));
break;
}
return false;
} // etc...
主类有公共正交摄像机;字段,我只想从InputManager类设置cam的位置。如何做到这一点?按“A”键显示“空指针异常”。找不到任何示例:(凸轮为空或位置为空 需要设置/初始化哪一个为空,以使其不为空
Main main = new Main();
根据您的代码,Main
的cam
类为空,因为您在create()
方法中初始化摄影机,该方法是的生命周期方法,在首次创建应用程序时调用
与其构造新对象,不如使用已由此创建的:
Main main= (Main)Gdx.app.getApplicationListener();
我将查看ApplicationAdapter的文档,并确保您正确使用它
对于这个特定的问题,它看起来像create()重载将为所需的cam和位置提供初始化。您可以在初始化对象后立即调用它,也可以在构造函数内部调用它。是否可以包括您的类
Main
?我几乎可以肯定您的问题是Java问题,而不是libgdx,但我需要查看Main
,以便确认