交際現在,我一直在尋找這個問題的答案了一段時間,但谷歌和我所有的力量似乎令我失望。對象與父母在Java
我得到了這個類。 (我的世界)。 在MyWorld我有對象
GameUnit m_MyUnits[] = new GameUnit[maxUnits];
眼下m_MyUnits都充滿了GameUnits和子類在這裏過的陣列,並在屏幕高興,因爲乳酪蛋糕走來走去。 我甚至爲自己每個人寫了自己的小碰撞檢測,所以他們不會碰撞到對方。
而且一切正常,但! 對於我的碰撞檢測工作,我所選擇的最慢的方式(和大多數存儲器需要我覺得)
在MyWorld我第一循環槽各GameUnit,並得到它的X和Y位置的陣列 私人INT [] [ ] Positions = new int [2] [maxUnits]);
我然後循環槽的每一個和GameUnit此數組分配給它。 (GameUnit都有自己的陣列稱爲頭寸此)
現在,雖然這個工程,我不禁想,這是愚蠢的喜歡...。那麼,我不會在這裏使用這些詞。
有沒有辦法爲GameUnit來調用MyWorld的位置,甚至更好,爲遊戲單元調用數組m_MyUnits []的getX()和m_MyUnits []的getY()在MyWorld 一些東西一樣這個(我使用Parent從GameUnit引用MyWorld)
For(int i = 0;i < Parent.maxUnits;i++) {
int targetX = Parent. m_MyUnits[i].getX();
int targetY = Parent. m_MyUnits[i].getX();
//Do some thing like collition detection with the data.
}
這是可能的嗎?
您的JavaApprentis。
你必須MyWorld'的'變量實例的引用或全部你想獲得'靜態'的東西?此級別的依賴可能表明您的設計存在缺陷。 – twain249 2012-04-25 21:45:39
是的,它是有缺陷的......或者我猜是這樣? 如果你問天氣與否,我已經將MyWorld的任何信息傳遞給GameUnit的實例,然後沒有。 我沒有!我猜想我喜歡做什麼。但我不確定。 如果我喜歡這樣做,那我該怎麼做?遊戲單元的構造函數是(int,int,double)要添加什麼? 和什麼傳遞? – JavaApprentis 2012-04-25 21:56:01
然後,您可以執行@ErnestFriedmanHill建議的操作,併爲您的構造函數添加一個「MyWorld」參數。 – twain249 2012-04-25 21:57:00