本文主要是介绍2048 游戏中添加分数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1. 声明两个变量
在HelloWorldScene.h中声明两个变量:
| 1 2 3 4 5 | //游戏总分 int score; //定义显示分数的控件 cocos2d::LabelTTF* labelTTFCardNumber; |
声明了游戏总分和显示分数的控件
2. 加入分数标签和数字
在游戏界面的上面,左边是“分数”标签,右边是分数。
在HelloWroldScene.cpp的Init()函数中,添加如下代码:
| 01 02 03 04 05 06 07 08 09 10 11 | //在上方加入游戏的分数 //加入“分数”label auto labelTTFCardNumberName = LabelTTF::create( "SCORE" , "HiraKakuProN-W6" ,80); labelTTFCardNumberName->setPosition(Point(visibleSize.width/3,visibleSize.height-40)); addChild(labelTTFCardNumberName); //加入具体的分数 labelTTFCardNumber = LabelTTF::create( "0" , "HiraKakuProN-w6" ,80); labelTTFCardNumber->setPosition(Point(visibleSize.width-400,visibleSize.height-50)); addChild(labelTTFCardNumber); |
3. 卡片合并的时候,要添加分数
当卡片合并的时候,需要添加分数。四个上下左右滑动的函数,都要添加。例如向左滑动时:
[JavaScript] 纯文本查看 复制代码
| 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | bool HelloWorld::doLeft(){ bool isdo = false ; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { for (int x1 = x + 1; x1 < 4; x1++) { if (cardArr[x1][y]->getNumber() > 0) { if (cardArr[x][y]->getNumber() <= 0) { cardArr[x][y]->setNumber(cardArr[x1][y]->getNumber()); cardArr[x1][y]->setNumber(0); x--; isdo = true ; } else if (cardArr[x][y]->getNumber() == cardArr[x1][y]->getNumber()){ cardArr[x][y]->setNumber(cardArr[x][y]->getNumber()*2); cardArr[x1][y]->setNumber(0); //改变分数 score += cardArr[x][y]->getNumber(); labelTTFCardNumber->setString(String::createWithFormat( "%i" ,score)->getCString()); isdo = true ; } break ; } } } } return isdo; } |
这篇关于2048 游戏中添加分数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!