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

Cocos2d開發系列(一)

系統 2231 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條評論
主站蜘蛛池模板: 亚洲综合激情六月婷婷在线观看 | 欧美视频一区 | 欧美videofree高清杂交 | 日本叼嘿视频 | 波多野吉衣一区二区三区在线观看 | 日韩精品欧美一区二区三区 | 国产成人99久久亚洲综合精品 | 欧美一区二区精品 | 秒播影视 午夜福利毛片 | 欧美色视频日本片高清在线观看 | 一级特黄特交牲大片 | 97视频久久久 | 五月婷婷丁香在线视频 | 日本激情视频一区二区三区 | 国产对白有声小说 | 亚洲国产成人精品91久久久 | 午夜91理论片 | 天堂一区二区三区在线观看 | 日日摸狠狠的摸夜夜摸 | 亚洲欧美精品 | 国产91成人 | 五月婷亚洲 | 天天干天天色天天射 | 欧美夜色 | 国产高清精品久久久久久久 | 爱爱爱久久久久久久 | 五月一区二区久久综合天堂 | 在线亚洲 欧美 日本专区 | 免费香蕉成视频成人网 | 亚洲精品高清视频 | 日韩成人伦理 | 波多野结衣精品中文字幕 | 成人在线欧美 | 精品免费视在线视频观看 | 九九热视频这里只有精品 | 国产高清视频免费 | 青青青青爽视频在线播放 | 久久精品久久精品久久精品 | 五月天丁香六月欧美综合 | 久久色亚洲 | 日本高清免费不卡视频 |