在我的GameWorld类中,我在构造函数中初始化了一个项目Rectangle。item1 = new Rectangle(GameRenderer.obstacle3.getX() - GameRenderer.generator2.getValue2(), GameRenderer.generator2.getValue1(), 5, 5);我遇到的问题是初始化GameRenderer.obstacle3aGameWorld必须已经存在,并创建 a GameWorld,GameRenderer.obstacle3不能为空。换句话说:GameRenderer.obstacle3需要GameWorld首先存在,但GameWorld需要GameRenderer.obstacle3首先存在。这就是为什么我得到一个NullPointerException.我使用矩形进行碰撞检测,即if (Intersector.overlaps(wizard.getBoundingRectangle(), item1)) { GameRenderer.DoublePointsActive = true; addScore(5);}我不知道如何至少通过重组来解决这个问题。
1 回答
芜湖不芜
TA贡献1796条经验 获得超7个赞
我会避免像这样耦合这些类。也许你应该重新考虑你的设计。例如,为什么障碍物 3 是 GameRenderer 的成员而不是 GameWorld 的成员?障碍物不适合作为渲染器的成员。
添加回答
举报
0/150
提交
取消