假设我现在想做的一个游戏,对时间有严格的要求。
FPS = 60.0f;
SPF = 1.0 / 60.0f ; // second per frame
假设现在在HelloWorld里面的init最后,调用了如下函数
this->schedule(SEL_SCHEDULE(&HelloWorld::callSomething));
void HelloWorld::callSomething(float delta)
{
// 1. 每秒钟,这个函数一定会执行60次吗?
// 2. 如果不一定,那我怎样才能保证能在1秒钟内执行60次呢?
// 3. 这个delta是指距离上次调用经过的时间吗?(新手求问)
// 4. 这样的话,是不是 do { xxx; delta -= SPF;} while(delta > 0.0f); 就达到我要的次数?
// 5. 但实际上,如果像4中这样做了,我发现执行次数多了啊,该怎么处理才好?
}
我想要达到的目的是,怎样才能让我的角色可以在1秒钟之内执行某个动作(比如移动指定距离),且是指定的次数?
this->schedule(SEL_SCHEDULE(&HelloWorld::callSomething), 0.01f); // 如果这样做的话,能保证1秒钟调用100次吗?还是实际次数 <= 60次呢?
关于action的duration参数也有同样的疑问
求大神解惑~~