本文共 1727 字,大约阅读时间需要 5 分钟。
本节书摘来异步社区《Cocos2d 跨平台游戏开发指南(第2版)》一书中的第1章,第1.4节,作者: 【印度】Siddharth Shekar(谢卡) 译者: 武传海 责编: 胡俊英,更多章节内容可以访问云栖社区“异步社区”公众号查看。
当启动应用时,将默认加载在SpriteBuilder中创建好的场景。下面,我们将打开MainScene文件并且稍微做一些修改,而后加载它以取代默认场景。
到目前为止,MainScene.h和MainScene.m两个文件中没有任何代码。接下来,打开它们,并添加如下代码。
首先,打开MainScene.h文件,添加如下代码。
@interface MainScene :CCNode{CGSizewinSize;}+(CCScene*)scene;@end接着,在MainScene.m文件中,添加如下代码。#import "MainScene.h@implementation MainScene+(CCScene*)scene{ return[[self alloc]init];}-(id)init{ if(self = [super init]){ winSize = [[CCDirectorsharedDirector]viewSize]; } return self;}@end
然后,转到AppDelegate.m文件,它位于Source/Platforms下的iOS文件夹中,如图1-12所示。
在startScene函数中修改代码(粗体部分)如下:
(CCScene*) startScene{ //Comment or delete line below as shown //return [CCBReaderloadAsScene:@"MainScene"]; //add below line instead return [MainScene scene];}
至此,我们已经创建好一个完整的空白项目,供练习使用。
此时,如果你编译并运行空白项目,将只能看到一个黑色屏幕。为了确保我们的确为绘制做好了准备,并且保证绘制的内容能够显示在屏幕上,让我们添加一些用于更改背景颜色的基本代码。
在MainScene.m文件的init函数中,添加如下代码。
-(id)init{ if(self = [super init]){ winSize = [[CCDirectorsharedDirector]viewSize]; CGPoint center = CGPointMake(winSize.width/2, winSize.height/2); //Background CCNode* backgroundColorNode = [CCNodeColor nodeWithColor:[CCColor colorWithRed:0.0f green:1.0 blue:0.0]]; [selfaddChild:backgroundColorNode]; } return self;}
在init函数中,首先初始化super init文件,而后获取当前设备的屏幕尺寸,再创建一个CGPoint类型的辅助变量,用来计算屏幕中心。
接着,我们创建一个新的CCNode,命名为backgroundColorNode,并调用CCNodeColor类和nodeWithColor函数。在其内,我们将传递红色、绿色、蓝色值。由于我想要绿色背景,所以我把绿色值设置为1,其他均设置为0。
最后,我们把backgroundColorNode添加到场景中。
运行项目,观察刚才所做的更改,如图1-13所示。
此时,将只能看到一个绿色屏幕,它就是刚刚被添加到场景中的节点。如果你只想一个普通背景,而不想往项目中导入一幅图像,这是一种非常有用且快捷的方式,它让你能够轻松得到带有任何颜色的背景。
转载地址:http://rxpvl.baihongyu.com/