如何修复与Ashley框架相关的NullPointerException,

时间:2019-07-13 19:53:18

标签: java android nullpointerexception libgdx frameworks

每次Ashley Engine尝试更新时都会发生NPE。 当我按照教程学习时,我真的不知道问题出在哪里。

在开发游戏时,我将Libgdx,Ashley,Bullet组合在一起……没有错误,一切正常。 在完成一本书的教程之后,我得出了一些奇怪的结论。 Ashley,Familys,CustomWidget等对我来说真的很新。

所以对于主要错误:

java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.Object.hashCode()' on a null object reference
at com.badlogic.gdx.utils.ObjectSet.contains(ObjectSet.java:354)
at com.badlogic.ashley.core.EntityManager.addEntityInternal(EntityManager.java:116)
at com.badlogic.ashley.core.EntityManager.processPendingOperations(EntityManager.java:86)
at com.badlogic.ashley.core.Engine.update(Engine.java:206)
at com.OxyZStudio.OxyddiA.System.GameRendering.GameWorld.renderWorld(GameWorld.java:134)

原因:

protected void renderWorld(float delta)
    {
    modelBatch.begin(perspectiveCamera);
    //engine.update(delta); <<<<<<<<<<<<<<<<    TO FIX ABSOLUTELY!
    modelBatch.end();
    }

我可能错过了一些东西, 我曾经学习的书是“使用LibGDX构建3D游戏”

我需要解决导致我的头跳的问题, 那么我就可以通过下一步了:)

我希望几乎所有内容都可以显示在屏幕上,而无需引擎部分。

用户界面部分可以正常工作(以后需要修复)

但是当引擎打开时,游戏会崩溃。

预先感谢

Cordialy!

//(https://i.stack.imgur.com/sP3II.jpg

1 个答案:

答案 0 :(得分:0)

实际上是我所读的书, 我要达到的目的是完整地跟随Tuto, 设置一个有效的原型,然后适应我的需求。

坦率地说, 昨天我检查了GameWorld中使用的每个系统, 异常是由“派对系统”的敌人系统造成的,现在不再了。

可以将其修改为“已解决”, 由于它是由不完整的敌人系统引起的,现在不再如此