Cocos2d开发系列(一)

 

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 Applications 项目

新建一个 cocos2d Applications 项目,编译运行效果如下:

 

打开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 ]];

}

 

 

 

 

 

 

  • 0
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Cocos2d-x是一款非常流行的移动跨平台游戏引擎。它提供了丰富的功能和工具,方便开发者进行游戏开发。有多本与Cocos2d-x移动游戏开发相关的书籍被出版,这些书籍提供了全面的教程和实战经验。 其中,《捕鱼达人游戏开发》是一本全面的、比较实用的Cocos2d-x游戏开发教程。这本书汇集了热门手机游戏《捕鱼达人》开发的实战经验,作者从基础内容开始介绍Cocos2d-x引擎,并逐步深入地介绍了相关的开发技术和经验。 还有一本《Cocos2d-x高级开发教程》,该书作者曾参与Cocos2d-x for Windows Phone 7引擎的开发,并负责《捕鱼达人》系列游戏Windows Phone版本的移植工作。作者也参与了多个移动游戏项目的开发,拥有丰富的游戏开发经验。 除了这些书籍,还有《Cocos2D-X游戏开发技术精解》。这本书详细介绍了如何使用Cocos2D-X引擎开发移动平台游戏,包括引擎的简介以及其他相关内容。 总结来说,Cocos2d-x是一款流行的移动跨平台游戏引擎,有多本相关的书籍提供了全面的教程和实战经验,适合想要进行Cocos2d-x移动游戏开发开发者参考和学习。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Cocos2d-x高级开发教程](https://download.csdn.net/download/surport_t/9776900)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Cocos2d-x高级开发教程制作自己的《捕鱼达人》](https://download.csdn.net/download/qq461787436/10872674)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [Cocos2D-X游戏开发技术精解](https://download.csdn.net/download/weixin_39840588/11417620)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值