我最近跳入XNA池,並在C#中學習所有框架的細節。我在研究中注意到的一件事是,似乎沒有被廣泛接受的「適當」方法來實現GameComponents。XNA GameComponent實現首選項...?
閱讀this thread(等等)之後,我發現的喜好的遊戲開發者廣泛。我已經看到了從未使用GameComponents在所有(或僅微),而有些人則使用它們一切,一直到播放器/敵臺,導彈等一些主張然後也有一些採取更溫和方法,併爲中高級別實體(如屏幕,渲染器,場景等)保留GameComponent體系結構,這些實體又包含並驅動其更細粒度的遊戲單元。
在這一天結束,它是由遊戲開發商,以確定如何最好地實施該框架。由於StackOverflow與精明的開發人員密不可分,他們已經忘記了比我所知道的更多的東西,所以我想在我繼續沿着這條路走下去,並且自己使用框架之前,先了解一下這個共識是什麼。
人照顧與他們的想法附和?提前致謝!
感謝您的迴應!我聽說使用Game.Components集合會導致低開銷,但聽起來像是您在其他方面競爭。你認爲創建自己的實體層次結構/管理系統可以提供更高的性能潛力嗎? – Syndog 2010-02-25 23:15:32
對不起,我真的不知道。你當然可以得到更多的控制,所以也許你可以擠出更多的表現。但是,MS也許知道他們在做什麼,並且從GameComponent中擠出性能開始:)但是對於某些對象,特別是如果你打算在屏幕上有很多對象(比如子彈),最好留下來性能方面的結構 – Bob 2010-02-25 23:21:27
GameComponents將在內部實施爲列表,無法獲得比這更高的效率!至於結構,我不確定這是一個好主意,在C#中傳遞結構將涉及大量的複製值。垃圾收集器在xbox上速度很慢,在PC上幾乎可以忽略它。 – Martin 2010-02-25 23:46:05