- 鐵幣
- 2665 元
- 文章
- 923 篇
- 聲望
- 2576 枚
- 上次登入
- 09-4-6
- 精華
- 6
- 註冊時間
- 04-12-15
- UID
- 75249
|
遊戲框架篇
繼程式初探篇說的,要學好C++後,
我現在就將我以前寫給朋友的遊戲框架事件驅動概念的範例,分享給大家!
而這是需要善用多型和虛擬喔!
遊戲框架是什麼呢?就是能夠將複雜的程式邏輯,規劃限制在容易理解的設計範圍中!
當你程式碼越寫越多越大時,就會體現出遊戲框架的重要性!
就像...如果你有一萬本書,你是否該買些書櫃並好好的規劃如何放置,對吧!
如果隨便亂丟...而又要找一本書時,這還找的到嗎?
以下只節錄程式碼中的重點部份!
這是遊戲框架最上層介面類別,一定需要被繼承!好的!此範例適用在動畫物件管理上,
當然其他種類的物件管理概念也是由此延伸出去!
而以上只是節錄重點,我想光這樣看...很難清楚理解!
以下是此範例的程式碼,有興趣研究的人可以下載看看喔!
程式碼下載:我的遊戲事件驅動框架示範程式碼下載連結
事件驅動概念,簡單說就是有一個物件管理類別,它運用多型和虛擬機制
來負責控制所有子物件的事件觸發!
而子物件的事件函式就是撰寫各遊戲程式碼的地方!
這能夠大幅加速程式的開發以及邏輯思考上的便利!
這種概念可以運用在哪呢!
例如:
1. 動畫物件管理
遊戲中的人物角色,射出去的魔法,子彈等,就是一種動畫物件,
而眾多不同的物件,也需要有各自的物件管理者來好好管理!
2. 遊戲視窗管理
遊戲中一定有眾多的介面,而這就需要有良好的視窗管理者來管理!
不然,你的程式碼只會越寫越亂喔!最後會大到自己都不想維護了!
3. 只要符合這事件驅動精神的地方都可以!
我運用這個概念設計遊戲已經很久嚕~
這確實在實務上有莫大的幫助喔!
這個設計模式的重點是在於事件導向驅動的核心精神,而不是在於程式語法喔!
只要核心精神相同,你要用任何方式實現都可以!
(只不過...多型與虛擬能很方便的實現這種設計模式)
如果新手看不懂,不理解也沒關係,
暫時不用也都沒關係,沒有一定要這樣才能寫程式。
但只要你多多的練習寫,將來自然會懂得這個方法的!
而這也是邁向撰寫大型專案的超級重要能力喔! |
|