在我的游戏中,我正在我的足球上创建一个火粒子系统,我想知道我应该把优化代码(autoRemoveOnFinish)放在哪里。这就是我现在正在做的。
接口
CCParticleSystem *_fire;
@property (readwrite,retain) CCParticleSystem *fire;实现
self.fire = [CCParticleSystemQuad particleWithFile:@"fire.plist"];
self.fire.position = cpv(self.contentSize.width * .5, self.contentSize.height * .5);
self.fire.positionType = kCCPositionTypeGrouped;
_fire.autoRemoveOnFinish = YES;
[self addChild:_fire z:0];如果我这样做是对的,为什么fps会降到25左右。我只允许一次在屏幕上创建5个足球。
发布于 2012-06-15 06:45:59
无论何时何地启用autoRemoveOnFinish都无关紧要。重要的一点是,这只适用于一次性效果,如CCParticleExplosion。一次性效果的持续时间属性设置为正值。
如果你有帧频问题,我打赌totalParticles (字形设计器中的最大粒子)值设置得太高了。您可能只有5个粒子效果在运行,但每个粒子系统可能会产生数百个粒子。
而且每个粒子的大小(各自的纹理)也对性能有很大的影响。
https://stackoverflow.com/questions/11042074
复制相似问题