1.使用
setAnimationInterval(1.0
/ 15
)
?发现在Android上运行没效果了吧!好的,那就去官方Github[
https://github.com/cocos2d/cocos2d-x/blob/1643c29a000d2e6720a2eb36e118ed7461487473/cocos/platform/android/java/src/org/cocos2dx/lib/Cocos2dxRenderer.java
] update个代码更新
Cocos2dxRenderer.java
吧,再将
+private static long sAnimationInterval = ...;中的60改为你需要的帧率
,这个代码现在是cocos2dx 3.3的测试版代码
2.你想在Runtime logic时使用 setAnimationInterval ?Oh,NO!Sorry!感觉也只有在IOS上跑得好爽,在Android上?效果呢?还是没有啊!!!放弃吧,少年。
3.用 Director:getInstance():getScheduler():setTimeScale(1) ?如果你试过可以的话那就恭喜你咯,我自己试感觉不到效果。
4.好吧!还是说说我的小办法吧,顺带有个加速功能。[注:设备最高帧率小于你所设的帧率的话,加速就没效果了]
setAnimationInterval(1.0 / 60 );//默认为系统自带
2.你想在Runtime logic时使用 setAnimationInterval ?Oh,NO!Sorry!感觉也只有在IOS上跑得好爽,在Android上?效果呢?还是没有啊!!!放弃吧,少年。
3.用 Director:getInstance():getScheduler():setTimeScale(1) ?如果你试过可以的话那就恭喜你咯,我自己试感觉不到效果。
4.好吧!还是说说我的小办法吧,顺带有个加速功能。[注:设备最高帧率小于你所设的帧率的话,加速就没效果了]
setAnimationInterval(1.0 / 60 );//默认为系统自带
float lkDelta = -1;
void XXXXX::update(float delta)
{
if (!isFastFPS) {
lkDelta += delta;
if (lkDelta <= 0.0666f && lkDelta >= 0) {//FPS:15 0.0666f每帧所需时间,lkDelta >= 0:[首帧时不检查这个时间]
return;
}
if (lkDelta < 0) {
lkDelta = 0;
} else {
lkDelta -= 0.0666f;
}
}logic();
draw();
}