一、安裝 cocos2d文檔集
為了便于今后檢索 Coco2d的各種類、方法、屬性,我們最好將cocos2d的文檔安裝到Xcode中。作者Blog中曾有一篇譯文《使用Doxgen創建Xcode文檔集》描述了創建文檔集的方法,但時至今日,Xcode已經發展到3.2.5,而Doxgen也升級到1.7.3了,原文中描述的方法也多少有些不適應了。且不知到什么原因,直接在Xcode中編譯cocos2d文檔集總是不成功,所以這里只能用Doxgen GUI生成cocos2d文檔集。
1、安裝Doxgen
當前版本為 1.7.3,下載地址:
http://www.stack.nl/~dimitri/doxygen/download.html#latestsrc
dmg格式,下載后把doxgen.app拖到“應用程序”目錄(/Applications)即可。
2、運行Doxgen.app
Doxgen GUI使用起來很簡單,如下圖所示:
Step1: Specify the working directory…
需要指定一個 Doxgen工作目錄,隨便指定一個即可,實在不行就新建個,Doxgen有時候會放一些臨時文件在這里。
為簡單起見,我們使用的是 Wizard模式,這種方式比較簡單。
Project name:填寫項目的名稱
Project version or id:版本號
Project logo:選擇一個圖標,會顯示在文檔集中。
Source code directory:指定源文件目錄,cocos2d的源文件都放在安裝目錄的cocos2d目錄中。當然也可以只指定cocos2d目錄,然后勾上Scan recursively,Doxgen會自己去搜索所有子目錄。
Destination directory:文檔集生成后存放的路徑,這里,我們直接指定為cocos2d目錄。
好了,點擊 Run按鈕,進入如下界面,然后點擊Run doxygen就大功告成了:
打開 Xcode,點擊Help——>Developer Documentation,打開Document Browser,點擊Home按鈕,可以看到新多出來的Doc Set:
當然,你也可以打開文檔集存放目錄( /cocos2d-iphone-0.99.5/html/ )目錄進行瀏覽(因為我們生成的Doc Set是Html格式的):
二、理解 Cocos2d Application
新建一個 Cocos2d Application,將Classes目錄下的所有源文件刪除。因為我們不想使用Cocos2d模板自動生成的代碼而準備自己從頭實現,這樣更方便我們理解Cocos2d應用程序的機制。同時學習在cocos2d動畫中Action(動作)的概念和運用。
1、實現 一個CCLayer
新建 File,命名為HelloAction,編輯.h和.m文件內容如下:
#import <Foundation/Foundation.h>
#import "cocos2d.h"
@interface HelloAction : CCLayer {
}
@end
#import "HelloAction.h"
@implementation HelloAction
-( id ) init
{
if ( ( self =[ super init ] )) {
// 創建標簽
CCLabelTTF * label = [ CCLabelTTF labelWithString : @"Hello Actions" fontName : @"Marker Felt" fontSize : 64 ];
// 通過 director 得知窗口 size
CGSize size = [[ CCDirector sharedDirector ] winSize ];
// 讓標簽居中
label. position = ccp ( size. width / 2 , size. height / 2 );
// 向 CCLayer 中加入標簽
[ self addChild : label];
// 定義一個 CCAction : CCScaleBy 動作, 3 秒內 , 縮放 2.5 倍
id action = [ CCScaleBy actionWithDuration : 3.0f scale : 2.5f ];
// 在標簽上應用 CCAction
[label runAction :action];
// 定義一個 CCSprite :并載入圖像 icon.png, 設置 CCSprite 的位置
CCSprite *sprite = [ CCSprite spriteWithFile : @"Icon.png" ];
sprite. position = ccp ( 0 , 50 );
// 把 CCSprite 加入到 Layer, 并設置其 z 軸為 1 , z 軸越大則表明該對象越處于上層
// 由于 z 軸默認值為 0 ,因此 CCSprite 將顯示在標簽的上層
[ self addChild :sprite z : 1 ];
// 定義 CCAction : CCRotateBy 動作, 4 秒內旋轉 720 度
// "By" 意味著相對 . "To" 意味著絕對 .
id rotateAction = [ CCRotateBy actionWithDuration : 4 angle : 180 * 4 ];
// 定義 CCAction : CCJumpBy 動作, 4 秒內蹦 4 次,位置右下角,高度 100.
id jumpAction = [ CCJumpBy actionWithDuration : 4 position : ccp (size. width , 0 ) height : 100 jumps : 4 ];
// 定義 CCAtion: CCSpawn 動作,同時執行旋轉動作和蹦跳動作
id fordward = [ CCSpawn actions :rotateAction, jumpAction, nil ];
// 基本上所有的 CCAction 都支持 reverse 方法
// 它將執行相反的動作
id backwards = [fordward reverse ];
// 定義 CCAction : CCSequence 動作,它將順序執行多個動作
id sequence = [ CCSequence actions : fordward, backwards, nil ];
// 定義 CCAction:CCRepeat 動作,它可以重復執行指定動作任意次數 .
// 如果要不停地重復,可以定義 "RepeatForEver" 動作 .
id repeat = [ CCRepeat actionWithAction :sequence times : 2 ];
// 命令 CCSprite 執行指定動作,當該層顯示在屏幕上時,動作即會自動執行
[sprite runAction :repeat];
}
return self ;
}
- ( void ) dealloc
{
[ super dealloc ];
}
@end
2、實現應用程序委托
新建 File,命名為AppDelegate,編輯.h和.m文件內容如下:
#import <Foundation/Foundation.h>
#import "cocos2d.h"
@interface AppDelegate : NSObject <UIAccelerometerDelegate, UIAlertViewDelegate, UITextFieldDelegate, UIApplicationDelegate>
{
UIWindow * window ;
}
@property ( nonatomic , retain ) UIWindow *window;
@end
#import "AppDelegate.h"
#import "HelloAction.h"
#import "EAGLView.h"
@implementation AppDelegate
@synthesize window;
- ( void ) applicationDidFinishLaunching:( UIApplication *)application
{
// 創建主窗口
window = [[ UIWindow alloc ] initWithFrame :[[ UIScreen mainScreen ] bounds ]];
// 創建 EAGLView 實例。 EAGLView 派生亍類 UIView, 蘋果公司用它來實現 OpenGL 輸出支持 , 以支持 OpenGL ES 編程:
EAGLView *glView = [EAGLView viewWithFrame:[ window bounds ]
pixelFormat: kEAGLColorFormatRGB565
depthFormat: 0
];
// 并將 EAGLView 綁定到導演的 openGLView 屬性
[[ CCDirector sharedDirector ] setOpenGLView :glView];
// 設置橫屏
[[ CCDirector sharedDirector ] setDeviceOrientation:CCDeviceOrientationLandscapeLeft];
[ window addSubview :glView];
// 顯示主窗口
[ window makeKeyAndVisible ];
[ CCTexture2D setDefaultAlphaPixelFormat : kCCTexture2DPixelFormat_RGBA8888 ];
// 創建一個空的場景
CCScene *scene = [ CCScene node ];
// 創建層: HelloAction
CCLayer *layer = [ HelloAction node ];
// 將層加到場景中
[scene addChild :layer];
// 第一個場景:主場景
[[ CCDirector sharedDirector ] runWithScene : scene];
}
- ( void ) dealloc
{
[ window release ];
[ super dealloc ];
}
3、修改main.h
找到文件中如下語句,并修改為:
int retVal = UIApplicationMain (argc, argv, nil , @"AppDelegate" );
運行程序,可以看到當主場景載入后,“ Hello Action”標簽漸漸變大,而sprite在屏幕上來回蹦跳并旋轉行進:
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
