Cocos2dx 粒子销毁问题

Posted cynchanpin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Cocos2dx 粒子销毁问题相关的知识,希望对你有一定的参考价值。

Cocos2dx    粒子销毁问题

DionysosLai([email protected]) 2014-7-3

         之前在调试粒子特效时,在粒子编辑器有个选项是用来调整粒子的生命时间,当粒子存在的时间超过这个值时,粒子就会消失不见。自然而然,在使用粒子系统做特效事,将这个粒子的消失不见。当作了粒子的自己主动销毁功能。

         后来在使用粒子在做泡沫特效时,每隔一段时间就须要产生一组泡沫。当游戏执行一段时间是。突然发现游戏变得有点儿卡顿。

打开调试时。发现节点数目不停的添加,添加的速度和泡沫产生的速度一致。归结原因,这时因为粒子并不会自己主动销毁。

因此,在使用粒子时,我们尽量要自己重写粒子系统。当粒子执行的时间超过其生命时,就要自己主动销毁了。

详细的函数例如以下:getLife();

         这里给出我使用的详细方法:

void SDMPartical::initData( const char *plistFile )
{
	m_pPartical = CCParticleSystemQuad::create(plistFile);
	m_pPartical->setPosition(CCPointZero);//设置发射粒子的位置
	this->addChild(m_pPartical);

	this->scheduleOnce(schedule_selector(SDMPartical::deletePartical), m_pPartical->getLife()+1.f);
}

void SDMPartical::deletePartical( float delta )
{
	this->removeChild(m_pPartical, true);
}	

         注意:在这里我在其生命数后1s才调用函数。移出这个粒子,这时因为我在调试时,发现当恰好在其生命结束时,就调用函数销毁,粒子消失的很突兀。因此。加了1s缓冲时间。


以上是关于Cocos2dx 粒子销毁问题的主要内容,如果未能解决你的问题,请参考以下文章

在Cocos2dx中初始化粒子效果后的警告-“ libpng警告:iCCP:已知错误的sRGB配置文件”

6 cocos2dx粒子效果,类图关系,系统原生粒子和自己定义粒子效果,粒子编译器软件,爆炸粒子效果,烟花效果,火焰效果,流星效果,漩涡粒子效果,雪花效果,烟雾效果,太阳效果,下雨效果

Cocos2dx 小技巧现成的粒子特效

cocos2dx 触摸钢琴

cocos2dx-精灵如何被渲染and纹理如何被管理产生与销毁

Vue项目使用particles.js粒子效果以及销毁