Cocos2D将v1.0的tileMap游戏转换到v3.4中一例(八)
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处.
如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;)
回到Xcode中,新建一个EndLayer类,继承于CCNode.因为我们得在其类方法中创建实例变量,所以我们得建立几个实例变量的属性.打开EndLayer.h文件,修改内容如下:
#import "CCNode.h"
@class MainScene;
@interface EndLayer : CCNode
@property (nonatomic,strong) CCLabelBMFont *msgLabel;
@property (nonatomic,strong) CCLabelBMFont *restartLabel;
@property (nonatomic,weak) MainScene *mainScene;
+(instancetype)endLayerWithMainScene:(MainScene*)mainScene message:(NSString*)msg;
@end
接着打开EndLayer.m文件添加如下代码:
#import "EndLayer.h"
#import "MainScene.h"
@implementation EndLayer
-(void)restartTapped:(id)sender{
CCScene *scene = [CCBReader loadAsScene:@"MainScene"];
CCTransition *transition = [CCTransition transitionFadeWithColor:[CCColor whiteColor] duration:0.5];
[[CCDirector sharedDirector]replaceScene:scene withTransition:transition];
}
-(void)onEnter{
[super onEnter];
[self.msgLabel runAction:[CCActionScaleTo actionWithDuration:0.5 scale:1.0]];
[self.restartLabel runAction:[CCActionScaleTo actionWithDuration:0.5 scale:1.0]];
}
+(instancetype)endLayerWithMainScene:(MainScene*)mainScene message:(NSString*)msg{
EndLayer *endLayer = (EndLayer*)[CCBReader load:@"EndLayer"];
endLayer.mainScene = mainScene;
endLayer.msgLabel.string = msg;
endLayer.msgLabel.scale = 0.1;
endLayer.restartLabel.scale = 0.1;
return endLayer;
}
@end
注意我们在其onEnter方法中实现了原代码中的菜单动画效果,现在编译运行app,效果如下:
OK!至此我们全部完成了原代码的转换工作,该系列8篇博文到此告一段落.
本猫猪将在新开辟博文”A*寻路算法的Cocos2D实现”的系列文章中,继续CatMazeV3项目的扩展旅程,敬请期待,再会! ;)
Cocos2D将v1.0的tileMap游戏转换到v3.4中一例(八)的更多相关文章
- Cocos2D将v1.0的tileMap游戏转换到v3.4中一例(一)
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 首先说一下为什么要转换,这是为了后面的A*寻路算法做准备.由于在 ...
- Cocos2D将v1.0的tileMap游戏转换到v3.4中一例(四)
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 现在打开MainScene.m文件,首先设置实例变量: @imp ...
- Cocos2D将v1.0的tileMap游戏转换到v3.4中一例(二)
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 首先在CatMazeV3中新建CatSprite类,继承于Spr ...
- Cocos2D将v1.0的tileMap游戏转换到v3.4中一例(六)
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 在Xcode中打开MainScene.h文件,在接口中添加2个方 ...
- Cocos2D将v1.0的tileMap游戏转换到v3.4中一例(五)
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 为了暂时不影响原来的cat移动方法,我们在CatSprite.m ...
- Cocos2D将v1.0的tileMap游戏转换到v3.4中一例(三)
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 下面看一下CatSprite中最复杂的moveToward方法, ...
- Cocos2D将v1.0的tileMap游戏转换到v3.4中一例(七)
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 打开SpriteBuilder,在文件视图中新建一个文件夹Fon ...
- JuiceFS V1.0 RC1 发布,大幅优化 dump/load 命令性能, 深度用户不容错过
各位社区的伙伴, JuiceFS v1.0 RC1 今天正式发布了!这个版本中,最值得关注的是对元数据迁移备份工具 dump/load 的优化. 这个优化需求来自于某个社区重度用户,这个用户在将亿级数 ...
- 【翻译】Selenium IDE v1.0.11 支持转换格式吗?
原文: http://blog.reallysimplethoughts.com/2011/06/10/does-selenium-ide-v1-0-11-support-changing-forma ...
随机推荐
- 谷歌发布 TensorFlow Serving
TensorFlow服务是一个灵活的,高性能的机器学习模型的服务系统,专为生产环境而设计. TensorFlow服务可以轻松部署新的算法和实验,同时保持相同的服务器体系结构和API. TensorFl ...
- 自定义shell终端提示符及颜色即修改 PS1文件 (以Centos为例)
Linux修改Shell命令提示符及颜色 1. Linux登录过程中加载配置文件顺序: /etc/profile → /etc/profile.d/*.sh → ~/.bash_profile → ~ ...
- TRIM ,LTRIM ,RTRIM ,空格过滤
- iOS核心面试题
1,请简述你对协议的理解? protocol无论是在那个领域都是一种约束,规范.在OC中的协议主要用于在各个类之间进行回调传值. 协议有 委托方,代理方, 委托方是协议的制定者,需要声明协议的方 ...
- 《深入理解mybatis原理》 MyBatis的架构设计以及实例分析
作者博客:http://blog.csdn.net/u010349169/article/category/2309433 MyBatis是目前非常流行的ORM框架,它的功能很强大,然而其实现却比较简 ...
- 3.3 声明[[],]的数组, push_back() 和 back() 的区别
声明一个 [[],] 的二维数组: vector < vector<int> > res(1, vector<int>()); 或者 vector<vecto ...
- 四种方式实现子goroutine与主线程的同步
如何实现子goroutine与主线程的同步 第一种方式: 这种方式很太死板,就不演示了. 第二种方式:使用 channel机制,每个 goroutine传一个 channel进去然后往里写数据,在再主 ...
- TensorFlow入门和示例分析
本文以TensorFlow源码中自带的手写数字识别Example为例,引出TensorFlow中的几个主要概念.并结合Example源码一步步分析该模型的实现过程. 一.什么是TensorFlow 在 ...
- linux系统性能监控--内存利用率
Linux提供了对物理内存进行合理.高效的访问并可以访问潜在的海量虚存的技术.虚存通常稍多于操作系统实际拥有的内存容量,以便将较少使用的数据卸载到磁盘存储器上,同时又呈现出系统拥有大量物理内存的假象. ...
- Android图表库MPAndroidChart(十二)——来点不一样的,正负堆叠条形图
Android图表库MPAndroidChart(十二)--来点不一样的,正负堆叠条形图 接上篇,今天要说的,和上篇的类似,只是方向是有相反的两面,我们先看下效果 实际上这样就导致了我们的代码是比较类 ...