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