一、创建文件~

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的搭建的更多相关文章

  1. cocos2dx游戏开发——微信打飞机学习笔记(三)——WelcomeScene的搭建

    一.场景与层的关系: cocos2dx的框架可以说主要由导演,场景,层,精灵来构成: 1.其中导演,意如其名,就是操控整个游戏的一个单例,管理着整个游戏. 2.场景就像电影的一幕剧情,所以说,懂得如何 ...

  2. cocos2dx游戏开发——微信打飞机学习笔记(七)——Enemy的搭建

    一.文件创建~ Enemy.h Enemy.cpp 二.How to do? 由于我是已经完成成个游戏的功能,所以我会将游戏中enemy所需要的很多功能基本上都先考虑到了,如果大家自己在做的时候也许没 ...

  3. cocos2dx游戏开发——微信打飞机学习笔记(一)——开发准备

    一.环境的搭建 1.Windows开发准备: (1)软件下载及安装 •下载Cocos2d-x 最新版本:http://www.cocos2d-x.org/download 或者从Cocos2d-x G ...

  4. cocos2dx游戏开发——微信打飞机学习笔记(九)——BulletLayer的搭建

    一.创建文件~ BulletLayer.h BulletLayer.cpp 二.How to do? (1)实例化BulletLayer方法的实现~ Bullet(PlayerLayer* temp) ...

  5. cocos2dx游戏开发——微信打飞机学习笔记(八)——EnemyLayer的搭建

    一.创建文件= =               EnemyLayer.h               EnemyLayer.cpp Ps:我绝对不是在凑字数~. 二.How to do? (1)一些宏 ...

  6. cocos2dx游戏开发——微信打飞机学习笔记(五)——BackgroundLayer的搭建

    一.创建文件~ 文件名:BackgroundLayer.h BackgroundLayer.cpp 架构就跟前面的一样,我就直接进入正题 啦,而且github有完整代码,欢迎下载~ 二.创建滚动的背景 ...

  7. cocos2dx游戏开发——微信打飞机学习笔记(十)——碰撞检测的搭建

    一.七说八说        大家都发现了= =,做了那么多,发现就是摆设,完全没有打飞机的感觉,没有实现碰撞的监测.比如说呢,子弹和敌机,玩家与敌机就是需要有碰撞检测的说,然后在这篇我想会很长很长的教 ...

  8. cocos2dx游戏开发——微信打飞机学习笔记(二)——游戏框架

    一.游戏的基本框架: WelcomeScene    ——>    GameScene   ——>   GameOverScene ||                           ...

  9. cocos2dx游戏开发——微信打飞机学习笔记(六)——PlayerLayer的搭建

    一.创建文件~ PlayerLayer.h PlayerLayer.cpp 一般类名都会和文件名有关系的~(在这里当然是一样) 二.How to do? 1.首先就是放一个飞机~ CC_SYNTHES ...

  10. cocos2dx游戏开发——微信打飞机学习笔记(四)——GameScene的搭建

    一.创建文件 首先呢,就是那个创建新的.h 和 .cpp 的文件,然后可以起名为GameScene 最重要的就是一定要创建在Classes的目录下哦= =,别手抖= =. 二.GameScene.h和 ...

随机推荐

  1. explicit构造函数

    explicit构造函数 Explicit Constructors(显式构造函数)收藏 按照默认规定,只有一个参数的构造函数也定义了一个隐式转换,将该构造函数对应数据类型的数据转换为该类对象,如下面 ...

  2. 【原创】angularjs1.3.0源码解析之scope

    Angular作用域 前言 之前我们探讨过Angular的执行流程,在一切准备工作就绪后(我是指所有directive和service都装载完毕),接下来其实就是编译dom(从指定的根节点开始遍历do ...

  3. Matlab之findobj()

    findobj findobj:特殊属性的图形对象 语法: 1.findobj: findobj返回根对象的句柄和所有子对象(findobj returns handles of the root o ...

  4. dedecms如何自定义专题模板

    很多人看到别人的网站也是用dedecms建的,但是他们的专题做得很漂亮,也在想如何自定义dedecms专题模板呢? 其实很简单,只要在dedecms默认专题模板上做一些修改就好了 <!DOCTY ...

  5. 北工大耿丹学院16级计科院3班C语言课程助教学期总结

    很荣幸得到邹老师,周老师,以及北工大耿丹学院各位老师的认可,担任计科院3班C语言课程助教,班主任为李光杰老师,很感谢李老师一学期的帮助,使得我更好的担任助教一职.我班学生31名,很愉快的与同学们度过一 ...

  6. javascript return false 详解

    在大多数情况下,为事件处理函数返回false,可以防止默认的事件行为.例如,默认情况下点击一个<a>元素,页面会跳转到该元素href属性指定的页. Return False 就相当于终止符 ...

  7. string s = null 和 string s = “”的区别

    string s = null; 表示一个空串,没有占用了空间,不在内存中开辟空间 string s = "";在内存中开辟空间,但空间中没有值(""也是一个字 ...

  8. 1.7 逆序数与归并排序[inversion pairs by merge sort]

    [本文链接] http://www.cnblogs.com/hellogiser/p/inversion-pairs-by-merge-sort.html [题目] 编程之美1.7光影切割问题可以进一 ...

  9. php 今天 昨天 明天 时间戳

    2013年9月10日 16:26:25 echo strtotime('now'),'<br>'; echo strtotime('today'),'<br>'; echo s ...

  10. Java web项目的字符集问题

    如果在Windows系统下使用eclipse开发Java应用,那么开始的时候我们一般不会考虑编码问题,但是随着不断学习,接触到前端.服务端.数据接口.数据库等更多的组件时,编码问题就逐渐暴露出来了,我 ...