游戏下载链接:http://download.csdn.net/detail/a402813378/6275427

这个Demo的最后一篇,是制作GameOver窗口,这个窗口是游戏结束的窗口,讲完这篇这个Demo就已经结束了。

首先我们来看GameOver类的组成,和前面的一样由一个初始化函数和一个返回CCScene对象的函数组成,再加上回调函数添加一个文本来响应重玩功能,说完了,现在看类声明好了。

#ifndef  __GAME_OVER_SCENE_H__
#define  __GAME_OVER_SCENE_H__
#include "cocos2d.h"
using namespace cocos2d;
class GameOverScene : public CCLayer
{
public:
bool init();
static CCScene* scene();
CREATE_FUNC(GameOverScene);
private:
void replayMenuCallback(CCObject *pSender);
};
#endif

然后cpp文件这个类和Menu类基本上一样。添加一个文本GameOver(不响应消息),和一个replay文本(返回游戏),OK,看代码。

#include"GameOverScene.h"
#include"XSystem.h"
#include"GameManager.h"
#include"GlobalParam.h"
using namespace cocos2d;
CCScene* GameOverScene::scene()
{
CCScene* scene = NULL;
do
{
scene = CCScene::create();
CC_BREAK_IF(! scene);
GameOverScene* layer = GameOverScene::create();
CC_BREAK_IF(! layer);
scene->addChild(layer);
} while (0);
return scene;
}
bool GameOverScene::init()
{
bool bRet =false ;
do
{
CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();
CCLabelTTF *mGameOverLab = CCLabelTTF::create("GameOver", MENU_FONT_NAME,35);
mGameOverLab->setPosition(XSystem::xccp(visibleSize.width/2,visibleSize.height *2/3));
this->addChild(mGameOverLab);
CCLabelTTF* rePlayerLab = CCLabelTTF::create("Replay",  MENU_FONT_NAME, 35);
CCMenuItemLabel * replayItemLab = CCMenuItemLabel::create(
rePlayerLab,
this,
menu_selector(GameOverScene::replayMenuCallback)
);
CCMenu *menu =CCMenu::create(replayItemLab,NULL);
menu->setPosition(XSystem::xccp(visibleSize.width / 2, visibleSize.height / 2));
menu->alignItemsVertically();
this->addChild(menu);
bRet = true;
} while (0);
return bRet;
}
void GameOverScene::replayMenuCallback( CCObject* pSender )
{
GameManager::sharedGameManager()->runSceneWithId(GameManager::SCENE_ID_GAME);
}

Cocos2d-x学习笔记三之飞机游戏详解之GameOver类的讲解相关推荐

  1. Linux 网络编程学习笔记——三、TCP 协议详解

    目录 一.TCP 服务的特点 传输层协议主要有 TCP 协议和 UDP 协议,前者相对于后者的特点是:面向连接.字节流和可靠传输. 使用 TCP 协议通信的双方必须先建立连接,然后才能开始数据的读写. ...

  2. 【PySpark学习笔记三】spark-submit命令详解

    spark-submit命令利用可重用的模块形式编写脚本,并且以编程方式提交作业到Spark. spark-submit命令 spark-submit命令提供一个统一的API把应用程序部署到各种Spa ...

  3. 小猫爪:i.MX RT1050学习笔记26-RT1xxx系列的FlexCAN详解

    i.MX RT1050学习笔记26-RT1xxx系列的FlexCAN详解 1 前言 2 FlexCAN简介 2.1 MB(邮箱)系统 2.1.1 正常模式下 2.1.2 激活了CAN FD情况下 2. ...

  4. IP地址和子网划分学习笔记之《IP地址详解》

    在学习IP地址和子网划分前,必须对进制计数有一定了解,尤其是二进制和十进制之间的相互转换,对于我们掌握IP地址和子网的划分非常有帮助,可参看如下目录详文. IP地址和子网划分学习笔记相关篇章: 1.I ...

  5. IP地址和子网划分学习笔记之《子网划分详解》

    一,子网划分概述 IP地址和子网划分学习笔记相关篇章: 1.IP地址和子网划分学习笔记之<预备知识:进制计数> 2.IP地址和子网划分学习笔记之<IP地址详解> 3.IP地址和 ...

  6. 我的学习笔记——CSS背景渐变(Gradients)详解

    我的学习笔记--CSS背景渐变(Gradients)详解 一.线性渐变(Linear Gradients) 1.语法 background-image: linear-gradient(directi ...

  7. 2021-11-16派森编程学习笔记“上帝视角下的游戏操盘手” 通过类的继承学会了复用代码,减少代码冗余,提高编程效率。

    派森编程学习笔记"上帝视角下的游戏操盘手" [自学笔记] 继承 在Python中继承是指:在类的基础上,它可以实现现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩 ...

  8. redis学习笔记(7)之redis哨兵详解

    redis哨兵详解 sentinel命令 客户端连接 素材代码 思路 实现过程 哨兵的切换实现原理 发布订阅基础 哨兵的实现原理 部署建议 需要关注的问题 代码流程 内容来源为六星教育,这里仅作为学习 ...

  9. MIT 6.824 学习笔记(一)--- RPC 详解

    从本文开始,将记录作者学习 MIT 6.824 分布式系统的学习笔记,如果有志同道合者,欢迎一起交流. RPC 的定义和结构 RPC 全称为 Remote Procedure Call,他表示一种远程 ...

最新文章

  1. java mysql 是否插入 成功_您如何确定使用Java和MySQL插入或更新是否成功?
  2. java 简单 语言_将简单的表达式语言放入java中
  3. 2007年3月东北微软技术活动预告
  4. win7 安装PyTorch
  5. 湖北大学校长计算机考研复试分数线,湖北大学考研复试分数线
  6. 3-18函数——作用域的查找空间
  7. 工作328:uni-局部过滤器处理数据
  8. springboot转发http请求_网易后端实习生分享:Springboot异常和错误处理规范
  9. java蓝桥杯算法训练 相l邻字母(题解)
  10. mysql三高讲解(二):2.2 B+树的B的意义
  11. 第13条:合理利用try/expect/else/finally结构中的每个代码块
  12. 美国数据科学家:重视非结构化数据分析 走出两大“经典”误区
  13. mysql 5.7版本下载安装
  14. C#游戏实例:弹砖块游戏
  15. Zynga完成对快速增长的超休闲游戏领域的领导者——伊斯坦布尔的Rollic的收购
  16. 2021年高处安装、维护、拆除新版试题及高处安装、维护、拆除考试试卷
  17. 麦克纳姆轮(全向轮)
  18. vue element-ui 日期弹出框右侧被遮挡
  19. 工厂生产管理流程有哪些环节?
  20. 谈谈自己对微信商城的看法

热门文章

  1. 高级架构师_Docker_第2章_ Docker核心原理_ 第7节IDEA集成Docker
  2. 【正项级数】敛散性判别(二)
  3. 函数周期表丨筛选丨值丨SELECTEDVALUE
  4. 使用云waf的案例_9种流行的云使用案例
  5. [23考研数学笔记]导数定义专题
  6. 关于音频采样率与码率
  7. 一些后端开发术语(设计/开发/通信/故障/监控/服务治理/测试/发布部署/环境/CI/CD)
  8. Windows安装telnet客户端
  9. Qt窗体鼠标拖动放大缩小
  10. 北京理工大学 计算机学院 李侃,求北京理工大学计算机学院导师的详细信息