问题:如何用cocos2dx实现一个毫秒级的计时器效果? 是否将毫秒部分做成动画就可?选取大概30个数做成帧动画? 求一个成熟的解决方案。
先看下我实现秒级计时器的方法,抛砖引玉。
问题:如何用cocos2dx实现一个毫秒级的计时器效果? 是否将毫秒部分做成动画就可?选取大概30个数做成帧动画? 求一个成熟的解决方案。
先看下我实现秒级计时器的方法,抛砖引玉。
复制代码
// 在要实现位置,用schedule方法 调用计时器
this->schedule(schedule_selector(HelloWorld::TimeCounter),1.0f);
//计时函数
void HelloWorld::TimeCounter(float dt)
{
//计数开始,转化成秒 分钟 小时
nSecond++;
if (nSecond==60) {
nSecond = 0;
nMinute++;
if (nMinute == 60) {
nMinute = 0;
nHour++;
if (nHour==24) {
nHour = 0;
}
}
}
//用CCLabelAtlas 方法输出
//删除上次的显示,清画布
removeChildByTag(STag);
//将秒数 整形数转换成ascII码
str=48+(nSecond/10);str=48+(nSecond%10);str='\0';
CCLabelAtlas* labelatlas = CCLabelAtlas::create(str, "numbers.png", 12, 32, 46);
labelatlas->setPosition(ccp(300, 100));
addChild(labelatlas);
//labelatlas->setScale(2.0f);
labelatlas->setTag(STag);
CCLog("%d -- %d -- %d",nHour,nMinute,nSecond);
CCLog("%d -- %d",nSecond/10,nSecond%10);
}