我正在使用Cocos2D 1.0.1将我的iOS游戏移植到OS X(结果在Cocos2D 2.0中相同),并且我在将帧速率限制为30fps时遇到了麻烦。调用setAnimationInterval可以在iOS中完美地限制帧速率,但在OS X中什么都不做(我尝试过在任何地方调用它,很多次等)。
[director setAnimationInterval:1.0/30];
我也尝试过setTimeScale,但这并没有以任何方式正确限制帧速率。 ([[CCScheduler sharedScheduler] setTimeScale:X]
)
如果有人在OS X中限制帧速率有任何成功,特别是使用Cocos2D,请告诉我。
修改 谢谢redux。实际上,我已经在使用它了。对于我的代码不太清楚,我深表歉意。 director只是sharedDirector的快捷方式,如下所示:
CCDirectorMac *director = (CCDirectorMac*) [CCDirector sharedDirector];
所以最后的代码仍在调用你给出的代码:
[[CCDirector sharedDirector] setAnimationInterval:1.0/30];
感谢您的回复,redux。但是,帧速率仍然不是限制性的。奇怪的是,因为setAnimationInterval一直在iOS上运行,但在Mac上没有做任何事情(尽管导演在iOS上会有所不同,但仍然如此)。
答案 0 :(得分:0)
我很确定任何对导演的调用都已弃用,需要使用CCSharedDirector。试试这个:
[[CCDirector sharedDirector] setAnimationInterval:1.0/30];