亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Cocos2d開發系列(一)

系統 1998 0

Cocos2d是一個比較流行的iphone游戲開發框架,據說在 AppStore 上已有超過 100 個游戲是基亍 Cocos2D-iPhone。其中 3 個由此 迚入過 TOP 10 的排名。其中的 StickWars 更是曾排名第一。 現在,讓我們來開始Cocos2d的學習之旅吧!

一、安裝下載

Cocos2d下載地址: http://code.google.com/p/cocos2d-iphone/downloads/list

當前最新版本為 1.0。本教程選用的是穩定版本0.99.5。

下載文件為 targ.gz格式,將其解壓到某個目錄下,打開該目錄,找到 install-templates.sh 文件,這個就是 Cocos2d的安裝腳本。

你可以直接在終端里運行這個腳本進行安裝,但如果你的 Xcode沒有安裝在默認目錄 下,則你需要在命令中添加一個參數。

例如,你的 Mac中可能同時存在一個Xcode版本(3.2.5),安裝目錄為:/Users/$yourname$/Developer,如果你想將Cocos2d安裝到這個Xcode(3.2.5),則需要使用用命令:

./install-templates.sh /Users/$yourname$/Developer

來進行安裝。

安裝完畢,你可以打開 Xcode,新建Project,你會在User Templates目錄下看到多了4個Cocos2d Application模板(如果是0.99版本,則只有3個模板):

Cocos2d開發系列(一)

二、新建 cocos2d Applications 項目

新建一個 cocos2d Applications 項目,編譯運行效果如下:

Cocos2d開發系列(一)

打開 HelloWorldScene.h,可以看到如下代碼:

#import "cocos2d.h"

// HelloWorld Layer

@interface HelloWorld : CCLayer

{

}

// returns a Scene that contains the HelloWorld as the only child

+( id ) scene;

@end

首先, import指令導入了cocos2d.h,在這個.h文件中,已經包含(import)了cocos2d的所有類。因此我們導入了cocos2d.h后,就不需要再一個個導入要用到的cocos2d類了。

其次, HelloWorldScene.h中定義了一個CCLayer子類。CCLayer即所謂“層”的概念。層是一個容器的概念,cocos2d在層上放置多個動畫元素,如文字、標簽、圖片、菜單,此外層接收觸摸和加速器事件。

第三,定義了一個靜態方法,返回了一個—— Scene,這個Scene實際上包含了一個層——HelloWorld,這是一個不錯的實例化方法。Coco2d中Scene的概念,類似于電影中“場景”的概念--由于受舞臺空間或屏幕空間的限制,一個情節往往只能在固定的空間環境中展現,而電影往往是由許多個情節構成 , 隨著劇情的發展,場景也需要改變,新的場景需要產生。所以電影就會在一幕幕場景中進行切換 ,這種切換被稱為“轉場”。

切換到HelloWorldScene.m :

#import "HelloWorldScene.h"

// HelloWorld implementation

@implementation HelloWorld

上面導入了 HelloWorldScene.h并實現了 HelloWorld類。O-C中,文件名不見得需要和類名一致。

+( id ) scene

{

……

}

這個方法就不介紹了,和前面說過的一樣。

-( id ) init

{

if ( ( self =[ super init ] )) {

CCLabelTTF *label = [ CCLabelTTF labelWithString : @"Hello World" fontName : @"Marker Felt" fontSize : 64 ];

CGSize size = [[ CCDirector sharedDirector ] winSize ];

label. position = ccp ( size. width / 2 , size. height / 2 );

[ self addChild : label];

}

return self ;

}

init方法中,創建了一個標簽 CCLabelTTF (以前是CCLabel)并讓他居中。ccp函數是 CGPointMake函數的縮寫。

接下來,看一下應用程序委托,如果你有過 Cocoa編程的經驗,那么會發現這就是一個UIApplicationDelegate,它的主要方法是 applicationDidFinishLaunching:( UIApplication *)application :。

,并將 EAGLView綁定到

首先取得 Director——導演。導演是cocos2d程序的統籌者和協調者,負責整個應用程序的主窗口的創建,以及每個場景在時間線上的先后順序。

CCDirector *director = [ CCDirector sharedDirector ];

然后創建 EAGLView實例。 EAGLView 派生亍類 UIView, 蘋果公司用它來實現 OpenGL 輸出支持,以支持OpenGL ES 編程:

EAGLView *glView = [EAGLView viewWithFrame:[ window bounds ]

pixelFormat:kEAGLColorFormatRGB565

depthFormat: 0

];

并將 EAGLView綁定到導演的openGLView屬性:

[director setOpenGLView :glView];

設置橫屏:

setDeviceOrientation:kCCDeviceOrientationLandscapeLeft];

設置幀間隔(尚未實現):

[director setAnimationInterval : 1.0 / 60 ];

設置幀率顯示,即屏幕左下角不斷變化的數字:

[director setDisplayFPS : YES ];

設置渲染格式位 32位RGB:

[ CCTexture2D setDefaultAlphaPixelFormat : kCCTexture2DPixelFormat_RGBA8888 ];

移除閃屏,即一開始的那個 coco2d Logo標志的屏幕:

[ self removeStartupFlicker ];

顯示 HelloWorld文字標簽的場景:

[[ CCDirector sharedDirector ] runWithScene : [ HelloWorld scene ]];

}

Cocos2d開發系列(一)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 不卡的中文字幕 | 国内精品久久久久久西瓜色吧 | 亚洲精品一区henhen色 | 免费久久久久 | 欧美手机手机在线视频一区 | www.黄色在线| 老司机午夜免费视频 | 日日夜夜摸 | 亚洲一区二区三区高清 | 欧美色欧美亚洲高清在线视频 | 久久一区二区三区精品 | 中文字幕日韩国产 | 真人视频一级毛片 | 亚洲综合插 | 久久久精品免费视频 | 小明看看成人免费 | 伊人婷婷色香五月综合缴缴情 | 伊人网99| 国产亚洲综合精品一区二区三区 | 一级特级欧美a毛片免费 | 狠狠亚洲丁香综合久久 | 一本色道久久综合亚洲精品高清 | 精品中文字幕久久久久久 | 5060一级毛片| 久久久这里有精品 | 看看免费a一片欧 | 久国产精品久久精品国产四虎 | 亚洲精品宾馆在线精品酒店 | 国产福利在线观看视频 | 久久综合亚洲伊人色 | 久久综合一 | 免费国产a国产片高清不卡 免费国产阿v视频在线观看 | 日本三级做a全过程在线观看 | 久久久99精品久久久久久 | 午夜私人影院粉色视频我要 | 日韩中文欧美 | 欧美特黄一级aa毛片 | 亚洲小younv另类 | 欧美视频在线一区 | 色偷偷亚洲第一综合 | 国产女人体一区二区三区 |