cocos2dx游戏开发——微信打飞机学习笔记(十一)——GameOverScene的搭建
一、创建文件~
GameOverScene.h
GameOverScene.cpp
GameOverLayer.h
GameOverLayer.cpp
二、How to do?
就是加入一个转场就好~转到GameOverScene,然后我们先简单实现下GameOverScene
(1)搭建GameOverScene
由于我们结束场景是一个计分板,所以我们需要在创建场景的时候需要传入一个_score,所以我们在写创建函数的时候就需要有一个参数,其他的话都是一样的。
Gameover* Gameover::create(int score)
{
auto pRet = new Gameover();
if (pRet && pRet->init(score))
{
pRet->autorelease();
return pRet;
}
else
{
delete pRet;
pRet = NULL;
return NULL;
}
(2)搭建GameoverLayer
同上首先创建函数需要引入一个score,然后就是Init之中的操作。
1、初始化背景~
auto background = Sprite::createWithSpriteFrameName("gameover.png");
background->setAnchorPoint(Vec2::ZERO);
background->setPosition(Vec2(,-));
this->addChild(background);
2、回到游戏按钮的设置
auto again = MenuItemImage::create("btn_finish.png","btn_finish.png",CC_CALLBACK_0(GameOverLayer::restart, this));//设置菜单项
auto menu = Menu::create(again,NULL);//创建菜单
menu->setPosition(Vec2(Director::getInstance()->getVisibleSize().width-,));//定位
this->addChild(menu);//加入到Layer
void GameOverLayer::restart()
{ auto scene = GameScene::create();//创建一个新的GameScene
auto transition = TransitionJumpZoom::create(, scene);
Director::getInstance()->getInstance()->replaceScene(transition);//transition一下~ }
(3)我们需要在GameScene中的GameLoop中玩家死翘翘的时候加入转场的操作~
if (!_player->getisAlive())
{
this->gameover();
} void GameScene::gameover()
{
_enemyLayer->stopAllEnemiesSpaw(); //停止发射敌人
_bullet->stopSpawBullet(); //停止发射子弹
_background->stopBackground(); //停止移动背景 auto gameover = Gameover::create(); //先随便传个分数= =,因为我们还没有加//计分。
auto transition = TransitionJumpZoom::create(1.0, gameover);
Director::getInstance()->replaceScene(transition); }
然后呢,在这里我发现,我们即使创建了转场动画,也不会显示,而是会直接跳到GameOver中去,这个我也不是很理解,而且我也尝试了不同的方法,结果都不行。测试例中的代码是在点击一个按钮后转场,但是不是按按钮再转场却没有相关的demo,于是乎,暂时无解,希望大家给小白我解惑一下。
然后就Ok了,大家可以自己尝试一下下~
cocos2dx游戏开发——微信打飞机学习笔记(十一)——GameOverScene的搭建的更多相关文章
- cocos2dx游戏开发——微信打飞机学习笔记(三)——WelcomeScene的搭建
一.场景与层的关系: cocos2dx的框架可以说主要由导演,场景,层,精灵来构成: 1.其中导演,意如其名,就是操控整个游戏的一个单例,管理着整个游戏. 2.场景就像电影的一幕剧情,所以说,懂得如何 ...
- cocos2dx游戏开发——微信打飞机学习笔记(七)——Enemy的搭建
一.文件创建~ Enemy.h Enemy.cpp 二.How to do? 由于我是已经完成成个游戏的功能,所以我会将游戏中enemy所需要的很多功能基本上都先考虑到了,如果大家自己在做的时候也许没 ...
- cocos2dx游戏开发——微信打飞机学习笔记(一)——开发准备
一.环境的搭建 1.Windows开发准备: (1)软件下载及安装 •下载Cocos2d-x 最新版本:http://www.cocos2d-x.org/download 或者从Cocos2d-x G ...
- cocos2dx游戏开发——微信打飞机学习笔记(九)——BulletLayer的搭建
一.创建文件~ BulletLayer.h BulletLayer.cpp 二.How to do? (1)实例化BulletLayer方法的实现~ Bullet(PlayerLayer* temp) ...
- cocos2dx游戏开发——微信打飞机学习笔记(八)——EnemyLayer的搭建
一.创建文件= = EnemyLayer.h EnemyLayer.cpp Ps:我绝对不是在凑字数~. 二.How to do? (1)一些宏 ...
- cocos2dx游戏开发——微信打飞机学习笔记(五)——BackgroundLayer的搭建
一.创建文件~ 文件名:BackgroundLayer.h BackgroundLayer.cpp 架构就跟前面的一样,我就直接进入正题 啦,而且github有完整代码,欢迎下载~ 二.创建滚动的背景 ...
- cocos2dx游戏开发——微信打飞机学习笔记(十)——碰撞检测的搭建
一.七说八说 大家都发现了= =,做了那么多,发现就是摆设,完全没有打飞机的感觉,没有实现碰撞的监测.比如说呢,子弹和敌机,玩家与敌机就是需要有碰撞检测的说,然后在这篇我想会很长很长的教 ...
- cocos2dx游戏开发——微信打飞机学习笔记(二)——游戏框架
一.游戏的基本框架: WelcomeScene ——> GameScene ——> GameOverScene || ...
- cocos2dx游戏开发——微信打飞机学习笔记(六)——PlayerLayer的搭建
一.创建文件~ PlayerLayer.h PlayerLayer.cpp 一般类名都会和文件名有关系的~(在这里当然是一样) 二.How to do? 1.首先就是放一个飞机~ CC_SYNTHES ...
- cocos2dx游戏开发——微信打飞机学习笔记(四)——GameScene的搭建
一.创建文件 首先呢,就是那个创建新的.h 和 .cpp 的文件,然后可以起名为GameScene 最重要的就是一定要创建在Classes的目录下哦= =,别手抖= =. 二.GameScene.h和 ...
随机推荐
- HttpRuntime应用程序的运行时
System.Web.HttpRuntime类是整个Asp.net服务器处理的入口. 这个类提供了一系列的静态属性,反映web应用程序域的设置信息,而且每个web应用程序域中存在一个System.We ...
- 微信新版支持读取iPhone M7/M8协处理器运动数据 与好友PK一下运动量吧
iPhone的创新是有目共睹的,Healthkit的推出预示着苹果进军健康领域,iPhone M7/M8协处理器可以收集和分析用户的健康数据,那么好的硬件自然不会被势在打造完整生态圈的微信给错过,这不 ...
- [BZOJ1789][BZOJ1830][Ahoi2008]Necklace Y型项链
[BZOJ1789][BZOJ1830][Ahoi2008]Necklace Y型项链 试题描述 欢乐岛上众多新奇的游乐项目让小可可他们玩的非常开心.现在他们正在玩比赛串项链的游戏,谁串的最快就能得到 ...
- 微信开发学习日记(八):7步看懂weiphp插件机制,核心目标是响应微信请求
又经过了几个小时的梳理.回顾,截至目前,终于对weiphp这个框架的机制搞明白了些.想要完全明白,自然还需要大把的时间.第1步: 配置微信公众号,http://weiphp.jiutianniao ...
- poj 3020 最短路径覆盖 Antenna Placement
Antenna Placement Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 7329 Accepted: 3635 ...
- MySQL建立索引的注意事项
对于大数据量的表格,尤其是百万行以上的数据表,一定要对其建立索引,否则查询速度极慢.(参考后面的测试结果)建立索引时需注意: MySQL的索引有两种:单列索引(即在某一列上建索引).多列组合索引(即在 ...
- Heap(堆)和stack(栈)有的区别是什么。
java的内存分为两类,一类是栈内存,一类是堆内存.栈内存是指程序进入一个方法时,会为这个方法单独分配一块私属存储空间,用于存储这个方法内部的局部变量,当这个方法结束时,分配给这个方法的栈会释放,这个 ...
- error splicing file: file too large解决方法
FAT32格式的usb最大支持4G的文件,拷贝超过4G的文件需要把usb换成NTFS格式.
- sqltext的参数化处理
说到sql的参数化处理,我也是醉了,因为sql引擎真的是一个无比强大的系统,我们平时做系统的时候都会加上缓存,我想如果没有缓存,就不会有什么 大网站能跑的起来,而且大公司一般会在一个东西上做的比较用心 ...
- codeforces 471C.MUH and House of Cards 解题报告
题目链接:http://codeforces.com/problemset/problem/471/C 题目意思:有 n 张卡,问能做成多少种不同楼层(floor)的 house,注意这 n 张卡都要 ...