我已經開始進入遊戲開發;我已經完成了一些教程並閱讀了大量文章,但是我不確定的一件事是管理大量臨時對象的最佳方式,例如,子彈。管理遊戲中子彈的最佳方式是什麼?
如果每個實體管理自己的子彈,我應該有一個全球性的子彈經理或我應該創建每一顆子彈作爲一個新的全面的單個對象(這似乎非常低效雖然)?
此外,使用組件模式應該怎麼辦性質,似乎通用時,例如位置,速度等。? 我讀過的一些東西似乎認爲所有東西都應該在某種組件中,而其他東西似乎認爲通常會被各種組件訪問的泛型屬性應該是實體類本身的成員。
原諒我,這可能是簡單的,但我要確保我在想在正確的方向。
非常感謝!
我沒有太多的經驗,但看看Doom或Quake等遊戲的源代碼。 AFAIK,他們擁有像火箭這樣緩慢移動/可見物體的「完整」物體,以及像子彈這樣的「快速」/不可見物體,它可以「畫」一條線並看它是否碰到某些物體(如光線跟蹤)。但我沒有真正檢查過它。確保每個子彈/火箭/任何有確定的壽命(火箭在X秒後爆炸,子彈的「虛擬」線在Y米後結束以避免進入無限) – 2010-07-07 22:35:25
值得注意的是,許多遊戲並未實施子彈不僅僅是光線廣播和結果。沒有什麼需要堅持的;玩家按下觸發器,檢查是否有什麼東西會抓住「子彈」,損壞那個東西。我想你需要創造一些東西,如果你正在批量/推遲你的視線/碰撞測試,但它不一定是一個「子彈」對象。 – 2010-07-08 21:42:10
我知道那個Dash,但我正在考慮沿着可能有大量可見射彈(認爲是垂直射手或類似小行星的東西)的街機遊戲。 感謝您的評論。 – JamesK89 2010-07-09 22:04:07