首页 > 代码库 > 【来写个2048吧】—— 后期优化及源码
【来写个2048吧】—— 后期优化及源码
卡片里的数字如果越来越大则会超过卡片,这样看起来不好看,所以我们要判断数字的位数然后设置合适的大小。
在Card.cpp的setNumber()中加入如下代码
//设置数字大小 if ( num >= 0) { labelCardNumber->setFontSize (100); } if ( num >= 16) { labelCardNumber->setFontSize (90); } if ( num >= 128) { labelCardNumber->setFontSize (60); } if ( num >= 1024) { labelCardNumber->setFontSize (40); }
这样就根据数字的位数改变大小了。
然后就是不同的数字显示不同的颜色。
同样在setNumber()中加入
//判断数字的大小来调整颜色
if(number == 0){
colorBackground->setColor (Color3B( 200,190 ,180));
}
if ( number == 2) {
colorBackground->setColor (Color3B( 240,230 ,220));
}
if ( number == 4) {
colorBackground->setColor (Color3B( 240,220 ,200));
}
if ( number == 8) {
colorBackground->setColor (Color3B( 240,180 ,120));
}
if ( number == 16) {
colorBackground->setColor (Color3B( 240,140 ,90));
}
if ( number == 32) {
colorBackground->setColor (Color3B( 240,120 ,90));
}
if ( number == 64) {
colorBackground->setColor (Color3B( 240,90 ,60));
}
if ( number == 128) {
colorBackground->setColor (Color3B( 240,90 ,60));
}
if ( number == 256) {
colorBackground->setColor (Color3B( 240,200 ,70));
}
if ( number == 512) {
colorBackground->setColor (Color3B( 240,200 ,70));
}
if ( number == 1024) {
colorBackground->setColor (Color3B( 0,130 ,0));
}
if ( number == 2048) {
colorBackground->setColor (Color3B( 0,130 ,0));
}
这样差不多就完成了。
其实还有很多效果没有加,如滑动卡片时的滑动效果,记录最高分等等。由于时间有限,就根据网上的教程试了一下。游戏很简单,做起来不容易啊。
最后附上所有的源代码
https://github.com/GeeKaven/cocos2dx-3.0-of-2048
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。