手动控制Cocos2d-iPhone游戏策略的帧率
||
大多数游戏开发人员在开发游戏时应该至少遇到过一次“低帧率”问题。但是,另一方面,我正在制作类似数独的益智游戏,因为它没有不断移动的子画面/元素,因此低帧率不是问题,事实上,我计划降低帧率以减少游戏耗时。 CPU时间,从而降低了iDevice的功耗;所有这一切只是出于对玩家的礼貌:)
我已经知道可以通过修改animationInterval来控制Cocos2d-iphone中的帧速率:
[[CCDirector sharedDirector] setAnimationInterval:1.0/60];
但是我在何时降低帧频以及何时恢复为正常帧频(60Hz)的策略上遇到了麻烦。此时,我仅设法定义了触摸事件的策略,即:
从较低的帧速率开始。在ccTouchBegan上,恢复为正常帧率。在ccTouchEnded上,切换到较低的帧速率。确保对多点触摸进行了相应的处理。
我还有两个条件:
在CCNode上处理CCAction:只要某些CCNode具有运行中的动作,请还原为正常帧速率。
粒子系统:只要有一些发射粒子的粒子系统,恢复为正常帧速率。
基本上,我需要能够检测在任何子画面/图层/场景上是否仍在运行动作,以及是否某些粒子系统仍在发射粒子。我宁愿不对单个对象进行检查,而宁愿有一个简单的[SomeClass isActionRunning]
。我想我可以通过检查“预定”对象的列表来做到这一点,但是我不确定如何做到。如果您还可以提出其他一些需要恢复正常帧频的条件,我们将不胜感激。
没有找到相关结果
已邀请:
3 个回复
犀寺扦
皇小福另届
黎喊病