首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >(Cocos2d)使用粒子系统时,应将autoRemoveOnFinish放置在何处?

(Cocos2d)使用粒子系统时,应将autoRemoveOnFinish放置在何处?
EN

Stack Overflow用户
提问于 2012-06-15 06:12:22
回答 1查看 362关注 0票数 0

在我的游戏中,我正在我的足球上创建一个火粒子系统,我想知道我应该把优化代码(autoRemoveOnFinish)放在哪里。这就是我现在正在做的。

接口

代码语言:javascript
复制
CCParticleSystem        *_fire;
@property (readwrite,retain) CCParticleSystem *fire;

实现

代码语言:javascript
复制
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个足球。

EN

回答 1

Stack Overflow用户

发布于 2012-06-15 06:45:59

无论何时何地启用autoRemoveOnFinish都无关紧要。重要的一点是,这只适用于一次性效果,如CCParticleExplosion。一次性效果的持续时间属性设置为正值。

如果你有帧频问题,我打赌totalParticles (字形设计器中的最大粒子)值设置得太高了。您可能只有5个粒子效果在运行,但每个粒子系统可能会产生数百个粒子。

而且每个粒子的大小(各自的纹理)也对性能有很大的影响。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11042074

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档