《Cocos2d 跨平台游戏开发指南(第2版)》一2.5 添加Gameplay场景
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]){2.5.3 工作原理
//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");
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月上线运营。公众号【异步图书】,每日赠送异步新书。
相关文章
- Cocos2D:塔防游戏制作之旅(三)
- mac OS X 下ft_rich游戏的重构
- Unity3D研究院之在把代码混淆过的游戏返混淆回来
- iOS开发必备指南合集之游戏接入GameCenter 指南
- win8 开发之旅(5) --五子棋游戏开发
- 【2018年南海区甲组】扑克游戏(poker)
- Flask开发成语接龙游戏,闲来无事手机玩玩自己写的游戏吧!
- Java实现 LeetCode 679 24 点游戏(递归)
- java实现第三届蓝桥杯火柴游戏
- 走在网页游戏开发的路上(三)
- 走在网页游戏开发的路上(八)
- 走在网页游戏开发的路上(九)
- 【ANDROID游戏开发之六】在SURFACEVIEW中添加系统控件,并且相互交互数据!
- 【ANDROID游戏开发十六】ANDROID GESTURE之【触摸屏手势识别】操作!利用触摸屏手势实现一个简单切换图片的功能!
- 【IOS-COCOS2D-X 游戏开发之六】使用BASE64算法对COCOS2DX自带CCUSERDEFAULT游戏存储数据编码加密!
- 【UNITY3D 游戏开发之一】搭建UNITY3D环境&导出自带DEMO示例;
- 【转】【UNITY3D 游戏开发之七】C# 中的委托、事件、匿名函数、LAMBDA 表达式
- Weex 版扫雷游戏开发
- python中pygame游戏打包为exe文件
- Unity-2D游戏开发套件指南-免费资源
- 假期无聊冰河开发了一款国民级游戏!
- C#开发Unity游戏教程之Scene视图与脚本的使用
- [Unity3D]Unity3D持久性数据的游戏开发PlayerPrefs采用
- 贪吃蛇游戏项目完整版