在我的GameWorld類中,我在構(gòu)造函數(shù)中初始化了一個(gè)項(xiàng)目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首先存在。這就是為什么我得到一個(gè)NullPointerException.我使用矩形進(jìn)行碰撞檢測(cè),即if (Intersector.overlaps(wizard.getBoundingRectangle(), item1)) { GameRenderer.DoublePointsActive = true; addScore(5);}我不知道如何至少通過重組來解決這個(gè)問題。
1 回答

蕪湖不蕪
TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超7個(gè)贊
我會(huì)避免像這樣耦合這些類。也許你應(yīng)該重新考慮你的設(shè)計(jì)。例如,為什么障礙物 3 是 GameRenderer 的成員而不是 GameWorld 的成員?障礙物不適合作為渲染器的成員。
添加回答
舉報(bào)
0/150
提交
取消