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 粒子销毁问题,布布扣,bubuko.com

时间: 2024-12-05 03:14:44

Cocos2dx 粒子销毁问题的相关文章

Cocos2d-x 粒子编辑器 Particle Studio 争做 Windows Particle Designer 源码

1.Particle Studio介绍 很早发现一款粒子编辑器叫Particle Designer,不知道为什么它没有Windows版本.所以我就在Windows下基于Qt做了一个粒子编辑器.之前有款叫Particle Builder也做得不错,也参考了下它的界面设计.名称想了很久,就叫Particle Studio吧.目前只支持Cocos2d-x. Particle Studio 比较有特色的功能: 1.完全免费使用全部功能! 2.拥有在线的粒子库.还在苦苦制作粒子?赶快来看下是否已经有你想要

cocos2d-x 粒子效果

大规模运动的物体通常有两种方法实现 1,使用帧动画来模拟 2,粒子效果 粒子系统有CCParticleSystem类实现,CCParticleSystem实现了对粒子的控制与调度,对粒子的操作包括: 1,产生粒子 2,更新粒子状态 3,回收无效粒子 粒子系统继承自CCNode ,可以添加到其他节点之中 cocos2d-x内置了一些粒子效果如: - CCParticleSystem(所有粒子系统的父类) -- CCParticleSystemPoint.CCParticleSystemQuad (

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

?? 1 粒子 演示样例 2 类图关系 3 系统原生粒子 CCParticleSystem 全部粒子系统的父类 CCParticleSystemPoint. CCParticleSystemQuad 点粒子和方形粒子系统,都继承了CCParticleSystem的全部属性 CCParticleExplosion 爆炸粒子效果 CCParticleFireworks 烟花粒子效果 CCParticleFire 火焰粒子效果 CCParticleMetepr 流行粒子效果 CCParticleSpi

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

 1 粒子 示例 2 类图关系 3 系统原生粒子 CCParticleSystem 所有粒子系统的父类 CCParticleSystemPoint. CCParticleSystemQuad 点粒子和方形粒子系统,都继承了CCParticleSystem的所有属性 CCParticleExplosion 爆炸粒子效果 CCParticleFireworks 烟花粒子效果 CCParticleFire 火焰粒子效果 CCParticleMetepr 流行粒子效果 CCParticleSpira

[原]Unity3D深入浅出 - 粒子系统(Particle System)

粒子系统是在三维控件渲染出来的二维图像,主要用于烟,火,水滴,落叶等效果.一个粒子系统由例子发射器.粒子动画器和粒子渲染器三个独立的部分组成. Unity中自带了一些粒子效果,在Assets>ImportPackage>Particles,即可将Prticles.UnityPackage导入到项目中,这些粒子效果包括:Dust(沙尘).Fire(火焰).Water(水).Smoke(烟雾).Sparkles(闪光),还有一些粒子资源 Sources.Misc(杂项),如下图 随便拖出来几个 接

09 特效系统

  粒子系统粒子组件:在Unity中制作粒子特效是通过ParticleSystem组件来实现的,可以在Hierarchy中右键直接创建,也可以通过创建一个空物体,为空物体添加ParticleSystem组件来实现. 粒子系统属性 (1)Duration:整个粒子系统的持续时间(2)Looping:是否开启循环,开启后循环播放粒子效果(3)Prewarm:是否看开启预热,只有在开启循环之后才可以勾选此选项(4)Start Delay:预热延迟.勾选预热后不能勾选该选项(5)Start Lifeti

关于Cocos2d-x 3.0正式版 粒子问题在IOS上正常显示,在Android下有问题的解决方式

前几个在Cocos2d-x论坛上,有人提到粒子系统的问题..这里列举一下解决的方法: 或许到时候大家用粒子效果的时候也会发现这个问题,如今把这个问题的解决办法说出来.至于原因我也不知道是引擎的问题还是个人的问题,在用Xcode进行开发的时候IOS跟Mac天生对游戏的Z轴不敏感,你怎么用Z轴都没关系.甚至不用设置都OK,可是编译到了Android平台就不行了,也不知道引擎内部是什么原理,在Android天生对Z轴敏感.这个问题非常难描写叙述,也非常难理解. (PS:原因就是添加子对象的Z轴关系要处

cocos2dx 免费粒子编辑器比较选择

做Cocos2dx项目的时候用到粒子,cocosstudio中没有粒子编辑器,想找一个粒子编辑器使用,于是网上狂搜一番,发现了好多免费的编辑器,发现了记得很早的时候用过的一款编辑器免费的粒子编辑器,愉快的下载下来赶紧打开编辑器开始了一番属性编辑,终于编辑出了想要的效果,保存加入游戏中,发现游戏 直接崩溃,试了好几次不行, 猜想估计是版本太老,放弃了: 继续找又发现一个在线的粒子编辑器,又是一番编辑->保存->加入游戏,结果没崩溃,但是跟编辑器中的效果差别太大:继续酷毙的找,好多都是不理想, 最

cocos2d-x 3.6 mac下的试用(粒子,触摸事件,图片)

戏说 虽然公司再如何如何,咱程序员在干好课外学习的情况下也是要努力做好本职工作的. 工作中的lua也写多了,深入了解Cocos2d-x当然还是要倒腾倒腾C++,对于一个C#用了这么多年,工作用lua的小菜来说,C++还真是不习惯. Cocos2d-x不知不觉的更新到了3.6版本,真是万人大吐槽,2d还没做清楚又开始弄3d了,触控大神们就不能专心做好一件事情吗,多少大坑没填好,又是各种改命名,每次更新都向学习新库一样...Orz....吐槽完毕还是要好好工作的. 演义 3.6中引入了Frame架构