cocos2dx -- 150505 学习笔记

cocos2dx -- 150505 学习笔记,第1张

概述CCParticleBatchNode: 粒子批处理节点,与CCSpriteBatchNode 类似,通过将使用了同样的Texture的粒子加入到TextureAtlas中,然后,在一次渲染中,渲染所有的粒子,从而达到提高效率的目的。 CCParticleSystem: 粒子系统类,不过只是一个基类,并不完善。 CCParticleSystemQuad:粒子系统矩形类,实现CCParticleSy

CCParticleBatchNode: 粒子批处理节点,与CCSpriteBatchNode 类似,通过将使用了同样的Texture的粒子加入到TextureAtlas中,然后,在一次渲染中,渲染所有的粒子,从而达到提高效率的目的。

CCParticleSystem: 粒子系统类,不过只是一个基类,并不完善。

CCParticleSystemQuad:粒子系统矩形类,实现CCParticleSystem的虚函数,poststep、updateQuaDWithParticle、setTotalParticlesdraw函数。

poststep完成不使用BatchNode时的VBO的更新,该类可以在不使用BatchNode的情况下,自己完成粒子的渲染。

产生出特定的粒子系统: 通过从CCParticleSystemQuad派生子类,并重写初始化函数,即可完成特定的粒子系统。


支持两种发射器,一种是重力发射器,一种是环形发射器。

粒子的运动分为三种,自由模式、相对模式和集群模式。


粒子系统中,添加和删除粒子的代码非常有趣。 它使用了一个一维数组管理所有的粒子,当然,长度在最开始的时候就是确定的。

每当删除一个粒子时,直接用最后一个粒子的数据覆盖该粒子的数据,同时粒子总数减1,则完成删除。

添加一个粒子时,则是将粒子系统最后一个粒子的下一个粒子作为新的粒子初始化,并粒子总数加一,则完成添加。

粒子分布如下,


这样的分配方式,避免了对于粒子的频繁删除和释放,很聪明的做法。

总结

以上是内存溢出为你收集整理的cocos2dx -- 150505 学习笔记全部内容,希望文章能够帮你解决cocos2dx -- 150505 学习笔记所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1056892.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存