Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java libgdx如何从另一个非主类设置摄像机的位置?[爪哇]_Java_Oop_Inheritance_Libgdx - Fatal编程技术网

Java libgdx如何从另一个非主类设置摄像机的位置?[爪哇]

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:

我认为这是一个非常基本的java问题。我有两个类:Main和InputManager类:

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
,以便确认