每次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!
答案 0 :(得分:0)
实际上是我所读的书, 我要达到的目的是完整地跟随Tuto, 设置一个有效的原型,然后适应我的需求。
坦率地说, 昨天我检查了GameWorld中使用的每个系统, 异常是由“派对系统”的敌人系统造成的,现在不再了。
可以将其修改为“已解决”, 由于它是由不完整的敌人系统引起的,现在不再如此