cocos2dx -- 150505 学习笔记

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

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

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

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

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


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

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


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

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

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

粒子分布如下,


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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值