0
我有兩個組件,核心組件和可視化組件。核心組件完成所有的遊戲邏輯並執行所有的客戶端/服務器計算。該組件始終位於客戶端和服務器端的對象上。視覺組件,獲取信息或收集信息?
然後我有可視化組件,只有客戶端。
我的問題是,如果核心組件告訴可視組件,它需要的信息以及可視組件始終不知道核心組件存在,或者應該可視組件始終更新並從核心組件獲取信息並讓核心組件組件完全不知道存在的視覺組件?
我有兩個組件,核心組件和可視化組件。核心組件完成所有的遊戲邏輯並執行所有的客戶端/服務器計算。該組件始終位於客戶端和服務器端的對象上。視覺組件,獲取信息或收集信息?
然後我有可視化組件,只有客戶端。
我的問題是,如果核心組件告訴可視組件,它需要的信息以及可視組件始終不知道核心組件存在,或者應該可視組件始終更新並從核心組件獲取信息並讓核心組件組件完全不知道存在的視覺組件?
我認爲最直接的方法是核心組件不應該瞭解可視化組件。可視化組件應該瞭解核心組件以便查詢它,偵聽事件,更新它等等。這種方式可以在不影響核心組件的情況下替換可視組件,並且如果您的系統可以支持許多不同的可視組件只要核心組件也是多平臺的,就可以進行多平臺遊戲。此外,重要的是保持組件鬆散耦合。爲了輕鬆替換組件,從鬆散耦合的方式開始設計系統。
有關靈感,請查看這些id的開源遊戲http://fabiensanglard.net/quake3/的優秀評論。我相信評論會提到每款遊戲的架構。
太棒了,謝謝:) – 2015-01-04 16:22:39