我现在正面临一个问题。
我创建了一个游戏,用户可以在一个级别内比赛,还有秒表来计算用户完成该级别的时间。
我使用这个代码片段将计数器转换为秒表。
void update(float dt)
{
if (!paused)
{
fcheckbutton+=dt;
ftimer+=dt;
if (ftimer >= 0.01f)
{
this->timer();
ftimer = 0.0f;
}
}
}
void timer()
{
m_timer++;
int milliseconds = m_timer%60;
int seconds = (m_timer/60)%60;
int minutes = m_timer/3600;
CCString * P1Time = CCString::createWithFormat("%02d:%02d:%02d", minutes,seconds,milliseconds);
m_label->setString(P1Time->getCString());
}我在更新方法中调用了这个函数..。
问题是在每个设备(iOS和安卓)秒表产生不同的结果.
在我的测试用例中,如果用户不做任何输入,他应该在32秒内丢失.
iOS (iPhone 4)是最近的一个,有秒表~32秒
但是在Android设备上,结果是不同的。
Google Nexus S 28 seccs
新谷歌Nexus 7 18秒
银河注30秒
重要的是秒表必须在每个设备中同步,因为我有一个基于用户秒表结果的主板。
我该怎么做?
编辑:更新为调用计时器方法
发布于 2013-11-06 12:37:02
在哪里更新m_timer变量?我认为问题在于某些设备的FPS值较低。
https://stackoverflow.com/questions/19812178
复制相似问题