博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《Cocos2d 跨平台游戏开发指南(第2版)》一1.4 访问主场景(MainScene)
阅读量:6997 次
发布时间:2019-06-27

本文共 1727 字,大约阅读时间需要 5 分钟。

本节书摘来异步社区《Cocos2d 跨平台游戏开发指南(第2版)》一书中的第1章,第1.4节,作者: 【印度】Siddharth Shekar(谢卡) 译者: 武传海 责编: 胡俊英,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.4 访问主场景(MainScene)

当启动应用时,将默认加载在SpriteBuilder中创建好的场景。下面,我们将打开MainScene文件并且稍微做一些修改,而后加载它以取代默认场景。

1.4.1 准备工作

到目前为止,MainScene.h和MainScene.m两个文件中没有任何代码。接下来,打开它们,并添加如下代码。

1.4.2 操作步骤

首先,打开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所示。

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.4.3 工作原理

运行项目,观察刚才所做的更改,如图1-13所示。

1_13

此时,将只能看到一个绿色屏幕,它就是刚刚被添加到场景中的节点。如果你只想一个普通背景,而不想往项目中导入一幅图像,这是一种非常有用且快捷的方式,它让你能够轻松得到带有任何颜色的背景。

转载地址:http://rxpvl.baihongyu.com/

你可能感兴趣的文章