cocos2D(一)----第一個cocos2D程式,----cocos2d
簡介
我們這個專題要學習的是一款iOS平台的2D遊戲引擎cocos2d,嚴格來說叫做cocos2d-iphone,因為cocos2d有很多個版本,我們學習的是iphone版本的。既然是個遊戲引擎,那麼它肯定是為了方便遊戲開發而設計的。使用了cocos2d,你可以編寫極少量的代碼就做出非常cool的遊戲,節省你的開發週期。當然,要想出一個大作,還必須下苦工。在iOS平台的遊戲引擎還不止cocos2d一個,不過cocos2d還是比較受歡迎的,AppStore上已經有超過100個遊戲是基於cocos2d,其中3個進入過TOP 10的排名,其中的StickWars曾排名第一。
提示:要想很好地消化這個專題,最好已經有一定的iOS應用程式開發基礎
選擇cocos2d的理由
1.免費
我們可以使用cocos2d的所有功能,它是完全免費的
2.開源
cocos2d-iphone是用OC編寫的,我們可以好好學習下這個優秀遊戲引擎的原始碼。還可以對這個引擎進行一些修改或者拓展
3.整合了物理引擎
物理引擎可以為遊戲中的物體賦予真實的物理屬性,來實現碰撞、滾動、滑動或者彈跳等逼真效果(比如賽車類遊戲或者保齡球遊戲)。目前cocos2d整合的物理引擎有:Chipmunk和Box2d,Chipmunk是用C語言編寫的,Box2d是用C++編寫的,2個引擎的功能基本一樣。《憤怒的小鳥》使用的是Box2d物理引擎,玩過這款遊戲的朋友應該都能感受到Box2d物理引擎的強大
4.功能強大,開發難度低
cocos2d把底層的OpenGL ES代碼封裝地非常棒,我們用簡單幾句代碼,就可以實現非常酷的圖形效果、動畫效果,它還整合了音頻引擎,能夠快速處理音頻檔案
cocos2d的各種版本
| 名稱 |
語言 |
平台 |
| cocos2d-iphone |
Objective-C |
iOS、Mac OS X |
| cocos2d-x |
C++ |
iOS、Android、Windows |
| cocos2d-html5 |
JavaScript |
Web瀏覽器 |
| cocos2d-android-1 |
Java |
Android |
我們學習的版本是用OC編寫的cocos2d-iphone,雖然名字後面帶個iphone,其實用cocos2d-iphone開發的遊戲一樣可以運行在iPad上面,只要是iOS平台即可
建立第一個cocos2d程式
1.到官網http://www.cocos2d-iphone.org/download下載原始碼
目前有2個穩定版本:1.0.1和2.0,1.0.1和2.0的API有好些不一樣的地方,我們這裡使用的是1.0.1
2.雙擊解壓cocos2d-iphone-1.0.1.tar.gz
3.開啟終端,進入到cocos2d-iphone-1.0.1目錄中,輸入指令./install-templates.sh -f -u安裝cocos2d的模板到Xcode中
我的cocos2d-iphone-1.0.1目錄完整路徑是:/Users/apple/Downloads/cocos2d-iphone-1.0.1
觀察上面的安裝日誌可以發現,其實這些模板檔案是產生在:/Users/apple/Library/Developer/Xcode/Templates檔案夾中(我的使用者名稱叫apple)
直接刪掉這2個cocos2d檔案夾即可刪除所有已安裝的模板檔案
4.安裝完畢後,開啟Xcode,建立項目時會發現多了一個模板
這裡有3種模板,cocos2d_box2d是整合了box2d物理引擎的模板,cocos2d_chipmunk是整合了chipmunk物理引擎的模板。
我們選擇第一個最簡單的cocos2d模板
5.這裡我的項目名稱叫做HelloWorld
6.項目結構
Resources:存放遊戲中使用到的一些資源,比片、音頻檔案等
Default.png:iOS載入應用程式時顯示的圖片,所以在每次運行cocos2d程式時會先看到這張圖片
Icon.png:應用程式的表徵圖
fps_images.png:cocos2d用來顯示幀率的圖片,不可以刪除或修改
libs:存放著cocos2d以及第三方依賴庫的原始碼
7.運行項目,效果如下
左下角的60.2是指遊戲幀率,幀率即每秒重新整理多少幀,cocos2d預設設定是每秒重新整理60幀,幀率影響著遊戲的使用者體驗
到這裡為止,我們的第一個cocos2d程式就搞定了
原文地址:http://blog.csdn.net/q199109106q/article/details/8587877
感謝作者!
cocos2d X 新手助 怎匯入一個網上下載的cocos2d x工程,vs+cocos2d-x204
proj.win32裡面有個XXX.win32.vcxproj 匯入這個進項目 必須是在cocos2d-x的工作目錄下
cocos2d-x 父節點是什?
需要某一個執行個體化後的情境addchild(一個執行個體化好的層),那麼該層->getParent(),獲得的一個CCNode* 類型的指標地址與該情境的指標地址是一致的。
你不放心的話,可以設定斷點去跟一下的。。。