大佬教程收集整理的这篇文章主要介绍了cocos2dx 计数条设计,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
/当游戏中需要进行滚动计分时 为了获得滚动数字 我们可以首先写一个计分函数 放入update中进行调用每帧加一个固定的分数
//加入分数记录框
auto framCache=SpriteFrameCache::geTinstance();
framCache->addSpriteFramesWithFile("config.plist","config.png");
auto fram=framCache->getSpriteFrameByName("scorebar.png");
auto title=Sprite::createWithSpriteFrame(fram);
title->setPosition(Point(size.width-210,size.height-15));
//初始五个0
auto number=Sprite::create("111.png");
number->setTextureRect(CCRectMake(24.8,9,35)); //一定要注意对精灵的裁剪
number->setPosition(Point(size.width-50-i*15,size.height-10));
bits[i]=number;
}
auto number1=Sprite::create("111.png");
number1->setTextureRect(CCRectMake(24.8,35));
number1->setPosition(Point(size.width-275-j*15,size.height-10));
bits1[j]=number1;
}
@H_148_0@mark=0; //将分数初始为0this->scheduleupdate(); //调用update函数
return true;
}
//计分函数(运用整除和取余的方法不停的设置个十百千万位 运用setTextureRect(CCRectMake(24.8+temp*12.3,35))对精灵进行裁剪和贴图
void GameMark::addnumber(int var)
@H_148_0@mark+=var;//个位
int temp=mark%10;
if(temp>0)
bits[0]->setTextureRect(CCRectMake(24.8+temp*12.3,35));
bits1[0]->setTextureRect(CCRectMake(24.8+temp*12.3,35));
}
else
bits[0]->setTextureRect(CCRectMake(21,13,35));
bits1[0]->setTextureRect(CCRectMake(21,35));
}
//十位
temp=(mark%100)/10;
if(temp>0)
bits[1]->setTexture(ui);
bits[1]->setTextureRect(CCRectMake(24.8+temp*12.3,35));
bits1[1]->setTexture(ui);
bits1[1]->setTextureRect(CCRectMake(24.8+temp*12.3,35));
}
else
bits[1]->setTexture(ui);
bits[1]->setTextureRect(CCRectMake(21,35));
bits1[1]->setTexture(ui);
bits1[1]->setTextureRect(CCRectMake(21,35));
}
//百位
temp=(mark%1000)/100;
if(temp>0)
bits[2]->setTexture(ui);
bits[2]->setTextureRect(CCRectMake(24.8+temp*12.3,35));
bits1[2]->setTexture(ui);
bits1[2]->setTextureRect(CCRectMake(24.8+temp*12.3,35));
}
else
bits[2]->setTexture(ui);
bits[2]->setTextureRect(CCRectMake(21,35));
bits1[2]->setTexture(ui);
bits1[2]->setTextureRect(CCRectMake(21,35));
}
//千位
temp=(mark%10000)/1000;
if(temp>0)
bits[3]->setTextureRect(CCRectMake(24.8+temp*12.3,35));
bits1[3]->setTextureRect(CCRectMake(24.8+temp*12.3,35));
}
else
bits[3]->setTextureRect(CCRectMake(21,35));
bits1[3]->setTextureRect(CCRectMake(21,35));
}
//万位
temp=mark/10000;
if(temp>0)
bits[4]->setTexture(ui);
bits[4]->setTextureRect(CCRectMake(24.8+temp*12.3,35));
bits1[4]->setTexture(ui);
bits1[4]->setTextureRect(CCRectMake(24.8+temp*12.3,35));
}
else
bits[4]->setTexture(ui);
bits[4]->setTextureRect(CCRectMake(21,35));
bits1[4]->setTexture(ui);
bits1[4]->setTextureRect(CCRectMake(21,35));
}
}
以上是大佬教程为你收集整理的cocos2dx 计数条设计全部内容,希望文章能够帮你解决cocos2dx 计数条设计所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。