猴子原创,转载请注明出处。谢谢。
原文地址:http://blog.youkuaiyun.com/yanghuiliu/article/details/6981241
游戏中要用到分数是动态增加的,而不是瞬间加上去的。效果很简单。看下面的实现。
lblScore用于显示分数的CCLabel.
mScore 要增加到的分数
效果:
voidArd8::runChangeScore(){
int temScore=atoi(lblScore->getString());
int addScore=mScore-temScore;
char temStr[20]={};
if(abs(addScore)>10)
{
temScore+=addScore/10;
sprintf(temStr, "%06d",temScore);
lblScore->setString(temStr);
}
else if(abs(addScore)>2 &&abs(addScore)<=10)
{
temScore+=addScore/abs(addScore);
sprintf(temStr, "%06d",temScore);
lblScore->setString(temStr);
}
else
{
sprintf(temStr, "%06d",mScore);
lblScore->setString(temStr);
}
}
动态分数更新的实现技巧
本文详细介绍了如何在游戏中实现动态分数更新,确保分数变化过程平滑流畅,避免瞬间增加带来的视觉冲击。通过实例代码展示了使用CCLabel进行分数显示,并通过算法控制分数变化速度,提供了一种实现动态分数变化的方法。
1073

被折叠的 条评论
为什么被折叠?



