zl程序教程

您现在的位置是:首页 >  其他

当前栏目

《Cocos2d 跨平台游戏开发指南(第2版)》一2.5 添加Gameplay场景

游戏开发 指南 添加 场景 cocos2d 跨平台 2.5
2023-09-11 14:17:36 时间

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

2.5 添加Gameplay场景

当按下play按钮时,游戏应该切换到另一个场景,为此我们需要创建一个新场景,以便从原来的场景切换到新场景。首先,让我们学习一下如何创建一个场景。

2.5.1 准备工作

现在,让我们添加gameplay场景。在第1章中,我们已经学习过如何创建文件,采用相同方法,创建GamePlayScene类文件。

2.5.2 操作步骤

如上,我创建了一个名为GamePlayScene类。GamePlayScene.h文件中包含的代码如下:

#import "CCScene.h"

@interface GameplayScene : CCNode

+(CCScene*)scene;

-(id)initWithLevel:(NSString*)lvlNum

GamePlayScene.m文件包含如下代码:

#import "GameplayScene.h"

#import "cocos2d-ui.h"

@implementation GameplayScene

+(CCScene*)scene{

 return[[self alloc]initWithLevel:lvlNum];

-(id)initWithLevel:(NSString*)lvlNum{

 if(self = [super init]){


//Basic CCSprite - Background Image CCSprite* backgroundImage = [CCSprite spriteWithImageNamed:@ "Bg.png"]; backgroundImage.position = CGPointMake(winSize.width/2, winSize.height/2); [self addChild:backgroundImage]; CCLabelTTF *mainmenuLabel = [CCLabelTTF labelWithString:@"Gameplay Scene" fontName:@"AmericanTypewriter-Bold" fontSize: 36.0f]; mainmenuLabel.position = CGPointMake(winSize.width/2, winSize. height * 0.8); self addChild:mainmenuLabel]; CCLabelTTF *levelNumLabel = [CCLabelTTF labelWithString:lvlNum fontName:@"AmericanTypewriter-Bold" fontSize: 24.0f]; levelNumLabel.position = CGPointMake(winSize.width/2, winSize. height * 0.7); [self addChild:levelNumLabel];
CCButton *resetBtn = [CCButton buttonWithTitle:nil spriteFrame:[CCSpriteFrame frameWithImageNamed:@ "resetBtn_normal.png"] highlightedSpriteFrame:[CCSpriteFrame frameWithImageNamed:@ "resetBtn_pressed.png"] disabledSpriteFrame:nil]; [resetBtn setTarget:self selector:@selector(resetBtnPressed:)];
btnMenu.anchorPoint = ccp(0.5f, 0.5f); btnMenu.position = CGPointMake(winSize.width/2, winSize.height * 0.5); [btnMenu addChild:resetBtn]; [self addChild:btnMenu]; return self; -(void)resetBtnPressed:(id)sender{ CCLOG(@"reset button pressed");
2.5.3 工作原理

GamePlayScene类与MainScene类相似,但是在其中,我们添加了自定义场景和init函数,以便向类中传入字符串形式的难度级别数字。

此外,我们也添加了一个用于显示当前游戏难度级别的标签。

同样地,目前GamePlayScene类不做任何事。但是,在接下来的部分中,我们将学习如何从一个场景过渡到gameplay场景,其中会显示我们当前选择的游戏难度级别。


Cocos2d-x - 开源跨平台游戏引擎 Cocos2D-X 是全球知名的开源跨平台游戏引擎,易学易用,目前已经支持iOS、Android、Windows桌面、Mac OSX、Linux、BlackBerry、Windows Phone等平台。
《Cocos2d 跨平台游戏开发指南(第2版)》一导读 自从2007年创始以来,Apple App Store一直保持着持续增长的势头,每天平均约有500个App提交。其中,大约80%的App是游戏。形成这种局面的部分原因是Apple构建了一个非常棒的生态系统,免费提供操作系统和IDE开发环境,便于普通开发者接触并使用它们。
异步社区 异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。