Cocos2d-x学习笔记三之飞机游戏详解之GameOver类的讲解
游戏下载链接: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类的讲解相关推荐
- Linux 网络编程学习笔记——三、TCP 协议详解
目录 一.TCP 服务的特点 传输层协议主要有 TCP 协议和 UDP 协议,前者相对于后者的特点是:面向连接.字节流和可靠传输. 使用 TCP 协议通信的双方必须先建立连接,然后才能开始数据的读写. ...
- 【PySpark学习笔记三】spark-submit命令详解
spark-submit命令利用可重用的模块形式编写脚本,并且以编程方式提交作业到Spark. spark-submit命令 spark-submit命令提供一个统一的API把应用程序部署到各种Spa ...
- 小猫爪: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. ...
- IP地址和子网划分学习笔记之《IP地址详解》
在学习IP地址和子网划分前,必须对进制计数有一定了解,尤其是二进制和十进制之间的相互转换,对于我们掌握IP地址和子网的划分非常有帮助,可参看如下目录详文. IP地址和子网划分学习笔记相关篇章: 1.I ...
- IP地址和子网划分学习笔记之《子网划分详解》
一,子网划分概述 IP地址和子网划分学习笔记相关篇章: 1.IP地址和子网划分学习笔记之<预备知识:进制计数> 2.IP地址和子网划分学习笔记之<IP地址详解> 3.IP地址和 ...
- 我的学习笔记——CSS背景渐变(Gradients)详解
我的学习笔记--CSS背景渐变(Gradients)详解 一.线性渐变(Linear Gradients) 1.语法 background-image: linear-gradient(directi ...
- 2021-11-16派森编程学习笔记“上帝视角下的游戏操盘手” 通过类的继承学会了复用代码,减少代码冗余,提高编程效率。
派森编程学习笔记"上帝视角下的游戏操盘手" [自学笔记] 继承 在Python中继承是指:在类的基础上,它可以实现现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩 ...
- redis学习笔记(7)之redis哨兵详解
redis哨兵详解 sentinel命令 客户端连接 素材代码 思路 实现过程 哨兵的切换实现原理 发布订阅基础 哨兵的实现原理 部署建议 需要关注的问题 代码流程 内容来源为六星教育,这里仅作为学习 ...
- MIT 6.824 学习笔记(一)--- RPC 详解
从本文开始,将记录作者学习 MIT 6.824 分布式系统的学习笔记,如果有志同道合者,欢迎一起交流. RPC 的定义和结构 RPC 全称为 Remote Procedure Call,他表示一种远程 ...
最新文章
- java mysql 是否插入 成功_您如何确定使用Java和MySQL插入或更新是否成功?
- java 简单 语言_将简单的表达式语言放入java中
- 2007年3月东北微软技术活动预告
- win7 安装PyTorch
- 湖北大学校长计算机考研复试分数线,湖北大学考研复试分数线
- 3-18函数——作用域的查找空间
- 工作328:uni-局部过滤器处理数据
- springboot转发http请求_网易后端实习生分享:Springboot异常和错误处理规范
- java蓝桥杯算法训练 相l邻字母(题解)
- mysql三高讲解(二):2.2 B+树的B的意义
- 第13条:合理利用try/expect/else/finally结构中的每个代码块
- 美国数据科学家:重视非结构化数据分析 走出两大“经典”误区
- mysql 5.7版本下载安装
- C#游戏实例:弹砖块游戏
- Zynga完成对快速增长的超休闲游戏领域的领导者——伊斯坦布尔的Rollic的收购
- 2021年高处安装、维护、拆除新版试题及高处安装、维护、拆除考试试卷
- 麦克纳姆轮(全向轮)
- vue element-ui 日期弹出框右侧被遮挡
- 工厂生产管理流程有哪些环节?
- 谈谈自己对微信商城的看法
热门文章
- 高级架构师_Docker_第2章_ Docker核心原理_ 第7节IDEA集成Docker
- 【正项级数】敛散性判别(二)
- 函数周期表丨筛选丨值丨SELECTEDVALUE
- 使用云waf的案例_9种流行的云使用案例
- [23考研数学笔记]导数定义专题
- 关于音频采样率与码率
- 一些后端开发术语(设计/开发/通信/故障/监控/服务治理/测试/发布部署/环境/CI/CD)
- Windows安装telnet客户端
- Qt窗体鼠标拖动放大缩小
- 北京理工大学 计算机学院 李侃,求北京理工大学计算机学院导师的详细信息