cocos2d学习笔记第一章 基础场景创建及基本配置

本文提供了一个详细的指南,展示了如何使用Cocos2d创建iOS游戏场景,从初始化工程到设置背景图,最后调整场景以适应横屏设备。通过遵循此教程,开发者可以快速掌握创建游戏场景的基本步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 创建一个cocos2d工程

2. 创建一个新的场景:

步骤如下:

cmd+N 后选择ios -> cocoa touch -> Objective-C class

命名为:checkpoints_layer1 继承自 NSObject


3.修改场景文件

3.1 打开checkpoints_layer1.h

3.1.1 将父类改CCLayer // @interface checkpoints_layer1 : CCLayer

3.1.2 同时添加类的场景创建函数的声明:+(CCScene *) scene;

3.2 打开checkpoints_layer1.m

3.2.1 添加场景创建函数的实现如下:

+(CCScene *) scene
{
CCScene *scene = [CCScene node];
checkpoints_layer1 *layer = [checkpoints_layer1 node];
[scene addChild: layer];
return scene;
}

该函数的做用是用我们场景类checkpoints_layer1创建一个新的场景,并将期指针返回给调用者。


3.2.2 准备图片将其做为我们的场景的背景图

因为我打算只用在是iphone4(4S也一样)上,

所以做了一张640X960的背景图Checkpoints_bg1.PNG。

然后将该图片加到了工程中,并修改init函数让其显示出来,代码如下:


//用我们的背景图片创建一个sprite

CCSprite *bg = [CCSprite spriteWithFile:@"Checkpoints_bg1.PNG"];

// 将该实例加到我们的场景中来,因为我们当前只有一张图Z座标设置多少都一样我置的0,

// tag:1是今后用来在类的其它函数中得到该 实例时用的, 理论上将该值设置为一个枚举会更好,

// 我这是学习笔记,所以就直接写数值了。

[self addChild:bg z:0 tag:1];


//因为我设置了只做横屏的游戏,因为将该图片反转了90度
bg.rotation = -90;


//因为未设置锚点,所以按此不难算出将图显示在全屏的方法,很好理解

bg.position = CGPointMake(bg.texture.contentSize.height/2,bg.texture.contentSize.width/2);


4.将启动后的默认场景改为我们的新创建的checkpoints_layer1

在AppDelegate.m中找到applicationDidFinishLaunching函数

通常在该函数最后一行,有这样的话,将默认的hellowordlayer替换为我们的场景就可以了。

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


5.因为我打算做一个横屏的游戏所以要设置一下仅横屏有效

步骤如下:

RootViewController.m 文件中找到shouldAutorotateToInterfaceOrientation函数

将return YES改为下面的值, 代码中自动生成的注释写的也很清楚,直接放开即可。

return ( UIInterfaceOrientationIsLandscape( interfaceOrientation ) ); //仅横屏有效

return ( ! UIInterfaceOrientationIsLandscape( interfaceOrientation ) ); //仅竖屏有效


6. 编译运行

可以看到我们的场景已经出来, 表现出来的是我们加载到场景中的一张背景图,当然除了左下角的一个帧率别的都不会动。


注:该文章是我个人的学习笔记,并不是电子书,写的也不详细,请见谅 - xuanwenchao。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值