cocos2dx 3.10 功夫小子學習筆記

一 目的

學習,並作爲練習的一個案例

github 地址  https://github.com/baidang201/KungFuChild


教程地址:

http://suool.net/2015/07/30/My-Cocos2d-x-Game-Class-For-JiKeXueYuan/


二 大綱

1 概要
   瞭解遊戲設計的大概結構

2 基礎類
《1 工具類實現
《2 英雄類實現
《3 簡單AI怪物實現

3 主菜單和祕籍界面
《1 資源異步加載(圖片紋理  精靈緩存 聲音(要使用線程異步加載)),使用過渡頁達到目的
《2 Menu家族菜單的使用
《3 UserDefault簡單配置文件使用

4 設置和圖鑑界面
《1 ControlSider 用法,滑動條
《2 MenuItemToggle 用法,開關菜單控件
《3 ListView 列表視圖

5 幫助和選關界面
 《1 幫助頁面,裁剪頁ClippingNode使用,類似於flash的蒙版,用於實現字幕滾動。
 《2 OrbitCamera action 視角按照球面座標軌跡 圍繞屏幕中心進行旋轉  


6 主場景界面
 《1 ControlButton 按鈕的使用
 《2 ProgressTimer 進度條的使用

《3 暫停和繼續,使用了截圖類(RenderTexture),爲了屏蔽觸摸事件到後面的操作按鈕

《4 使用了視差節點類,造成遠景近景層次移動效果(ParallaxNode)



7 主邏輯
《1 遊戲暫停的實現,使用RenderTexture。可用於截屏
《2 遊戲結算的場景實現(遮罩層屏蔽觸摸)

8 打包爲apk
《1 基礎組件(jdk python sdk ndk ant)
《2 cocos命令行打包
《3 eclipse/android studio打包


三  小結

1 異步加載。

紋理,動畫有異步接口,聲音資源只能寫線程預加載(cocos2dx 3.10)


2 Menu家族比較

文字菜單

圖片/精靈菜單

開關菜單

比較特別的是開關菜單項,回調函數在第一個參數位置,大概是爲了實現後面放可變參數吧

MenuItemToggle * MenuItemToggle::createWithCallback(const ccMenuCallback &callback, MenuItem* item, ...)

其他的是

MenuItemSprite * MenuItemSprite::create(Node* normalSprite, Node* selectedSprite, Node* disabledSprite)

 

3 view家族比較

scroolView,ListView,PageView,TableView


4 windows32平臺(cocos2dx 3.10),調節背景音樂 音效的接口居然無效,看了例子改寫cocos2d\cocos\audio\win32  如下3個文件,使用windowsAPI mciSendCommand實現

MciPlayer.cpp
MciPlayer.h
SimpleAudioEngine.cpp


5 改進方向

《1 使用有限狀態機改寫本遊戲項目
《2 爲怪物添加更強大的AI,改進現有的碰撞檢測
《3 怪物的產生使用讀取配置文件的方式
《4 將遊戲GameLayer各個層分開實現,降低程序的耦合性。
《5 組合按鍵,生成新的技能系統

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章