LibGDX超类数组

时间:2016-10-26 16:03:47

标签: java arrays libgdx superclass

在我的游戏世界课程中,我希望我的所有敌人都使用一个名为Fighters的超级类。

public Array<Fighters> enemies;

我在我的游戏世界的构造函数中初始化它。

enemies = new Array<Fighters>();

这是战士超级班。

public class Fighters {
     protected Vector3 position;
     protected Vector3 velocity;
     protected Texture texture;

     public Vector3 getPos() {
          return position;
     }
     public Vector3 getVelocity() {
          return velocity;
     }

     public Texture getTexture() {
          return texture;
     }
     public void setPos(Vector3 newPos) {
          position = newPos;
     }
}

一个类是Fighters的子类。

public class RedFighter extends Fighters {
    public static final int value = 1;

    public RedFighter() {
        position = new Vector3(-10, -10, 0);
        velocity = new Vector3(0, -10, 0);
        texture = new Texture("redfighter.png");
    }
}

当我调用一个名为spawn enemies的方法时,它应该用红色战士填充数组。但是,当我尝试添加它时,我不断收到NullPointException。

Fighters fighter;
fighter = new RedFighter();
enemies.add(fighter);

我做错了什么,我该如何解决?谢谢!

1 个答案:

答案 0 :(得分:0)

我明白了!

事实证明,我的游戏世界并没有真正的构造函数。我没有使用公共GameWorld()作为我的声明,而是使用public void GameWorld(),因此它并不知道它是我的构造函数。我意识到我应该发布全班。非常感谢大家!我确保下次发布相关内容。

至于Array来自何处,它是来自libgdx库的数组。