Cocos2d-X开发中国象棋《十二》游戏结果的显示与隐藏
来源:互联网 发布:mac免费视频编辑软件 编辑:程序博客网 时间:2024/06/06 09:51
在上一节中实现了游戏中实现播放背景音乐,这节将实现游戏结果的显示与隐藏
先看一下效果图
当玩家赢了后会显示玩家赢了的对话框
当点击对话框后会隐藏对话框和棋子
单击开始后会改变玩家棋子的颜色
当玩家输了后会显示玩家输了的对话框
游戏结果的实现思路:
1、当玩家赢了后,显示一个对话框,对话框中的内容为“恭喜你,你赢了”
2、当玩家输了后,显示一个对话框,对话框中的内容为“对不起,你输了”
3、当点击对话框后,会隐藏对话框,隐藏棋子
4、单击开始后,会发现改变了玩家棋子的颜色
实现代码:
在SceneGame类中的成员函数init()中添加下面的代码实现创建游戏结果框
//创建精灵显示游戏结果 sprite = CCSprite::create("yingjiemian.png"); sprite1 = CCSprite::create("shuijiemian.png"); addChild(sprite); addChild(sprite1); sprite->setPosition(ccp(winSize.width / 2, winSize.height)); sprite1->setPosition(ccp(winSize.width / 2, winSize.height)); //隐藏结果 sprite->setVisible(false); sprite1->setVisible(false); //表示不显示游戏结果 visible = false;
在SceneGame中创建一个成员函数howResult(CCSprite* Sprite, CCSize winSize)用于显示游戏结果框
//显示游戏结果void SceneGame::ShowResult(CCSprite* Sprite, CCSize winSize){ //显示游戏结果提示框 Sprite->setVisible(true); Sprite->setZOrder(1000); visible = true; CCMoveTo* move = CCMoveTo::create(1, ccp(Sprite->getPositionX(), winSize.height / 2)); Sprite->runAction(move); }
在SceneGame中创建一个成员函数HideResult(CCSprite* s, CCObject* obj)用于隐藏游戏结果框
//隐藏游戏结果void SceneGame::HideResult(CCSprite* s, CCObject* obj){ //获得窗口的尺寸 CCSize winSize = CCDirector::sharedDirector()->getWinSize(); //隐藏游戏结果 s->setVisible(false); //设置棋子到初始位置 s->setPosition(ccp(winSize.width / 2, winSize.height)); visible = false; //改变玩家棋子的颜色 _redSide = ! _redSide; //设置红棋先走 _redTrun = true; //重新来一局 New(obj);}
在SceneGame的成员函数void SceneGame::moveComplete(CCNode* movetone, void* _killid)中添加下面的代码,实现当杀掉红色的帅或者黑色的将后,显示游戏结果对话框
//当杀掉将的时候 if(Stone::JIANG == _s[killid]->getType()) { //当杀掉的是对方的棋子的时候 if(_redSide != _s[killid]->getRed()) { //显示游戏结果 ShowResult(sprite, winSize); } else//当杀掉的是玩家的棋子 { //显示游戏结果 ShowResult(sprite1, winSize); } }
在bool SceneGame::ccTouchBegan(CCTouch* pTouch, CCEvent* pEvent)中添加下面的代码实现当点击游戏结果框后隐藏结果框,隐藏棋子,改变玩家棋子的颜色
//当触摸到了游戏结果框 if(sprite->boundingBox().containsPoint(ptInWin) && visible == true) { //隐藏结果 HideResult(sprite, obj); } if(sprite1->boundingBox().containsPoint(ptInWin) && visible == true) { //隐藏结果 HideResult(sprite1, obj); }
0 0
- Cocos2d-X开发中国象棋《十二》游戏结果的显示与隐藏
- Cocos2d-X开发中国象棋《六》游戏开始功能的实现
- cocos2d-x游戏开发系列教程-中国象棋05-开始游戏
- cocos2d-x游戏开发系列教程-中国象棋00-前言
- cocos2d-x游戏开发系列教程-中国象棋03-主界面
- cocos2d-x游戏开发系列教程-中国象棋04-摆棋
- cocos2d-x游戏开发系列教程-中国象棋06-游戏规则
- Cocos2d-X开发中国象棋《四》设计游戏场景
- Cocos2d-x开发中国象棋《十一》在游戏中添加背景音乐
- Cocos2d-X开发中国象棋《十四》游戏打包成APK
- Cocos2d-X开发中国象棋《三》开始场景的实现
- Cocos2d-X开发中国象棋《七》新局功能的实现
- cocos2d-x游戏开发(十二)场景切换:滑门效果
- cocos2d-x游戏开发(十二)场景切换:滑门效果
- Cocos2d-X开发中国象棋《一》功能介绍
- Cocos2d-X开发中国象棋《五》摆棋
- Cocos2d-X开发中国象棋《八》走棋
- Cocos2d-X开发中国象棋《九》走棋规则
- leedcode:Search in Rotated Sorted Array
- CSS选择器中的空格
- A*算法步骤
- 组合线程安全类
- hdu 4006 The kth great number(优先队列)
- Cocos2d-X开发中国象棋《十二》游戏结果的显示与隐藏
- 功能仿真与时序仿真,及Modelsim的使用
- Android中Looper、Handler、MessageQueue源码不完全分析
- 软回车变回车 上下标符号
- 使用局部标准差实现图像的局部对比度增强算法。
- 20141127-OrCAD16.6中对比两份DSN文件的方法
- Android电话本核心数据结构
- 括号配对问题
- node.js学习之路(三)