在上一节中实现了游戏中实现播放背景音乐,这节将实现游戏结果的显示与隐藏
先看一下效果图
当玩家赢了后会显示玩家赢了的对话框
当点击对话框后会隐藏对话框和棋子
单击开始后会改变玩家棋子的颜色
当玩家输了后会显示玩家输了的对话框
游戏结果的实现思路:
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); } 总结
以上是内存溢出为你收集整理的Cocos2d-X开发中国象棋《十二》游戏结果的显示与隐藏全部内容,希望文章能够帮你解决Cocos2d-X开发中国象棋《十二》游戏结果的显示与隐藏所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)