在我的GameWorld類中,我在構(gòu)造函數(shù)中初始化了一個項目Rectangle。item1 = new Rectangle(GameRenderer.obstacle3.getX() - GameRenderer.generator2.getValue2(), GameRenderer.generator2.getValue1(), 5, 5);我遇到的問題是初始化GameRenderer.obstacle3aGameWorld必須已經(jīng)存在,并創(chuàng)建 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條經(jīng)驗 獲得超7個贊
我會避免像這樣耦合這些類。也許你應該重新考慮你的設計。例如,為什么障礙物 3 是 GameRenderer 的成員而不是 GameWorld 的成員?障礙物不適合作為渲染器的成員。
添加回答
舉報
0/150
提交
取消