迁移到Cocos2d-x的本机方案
没有什么能像一些放置良好的粒子系统那样为游戏带来闪光和爆炸了。 我们很早就意识到Inari的粒子系统需要增加额外的麻烦。 从烟熏到明亮的闪光,从蠕动的窗帘到飘逸的樱花花瓣,它们需要多种口味。
我们从创建自定义粒子和粒子系统类开始,因为我们最初只需要控制每个粒子的几个简单变量,例如纹理,年龄和速度。 这种方法之所以有效,是因为我们的世界控制器将粒子与游戏中的所有其他对象一样对待,这意味着它们将与其他所有内容一起更新,暂停和恢复。



随着游戏的发展,我们需要更复杂,更逼真的粒子系统,这将需要诸如开始和结束状态,随机方差,旋转和缩放等新功能。 我们没有重新设计轮子,而是决定迁移到Cocos2d-x的本机粒子系统CCParticleSystemQuad。
该决定还具有其他一些优点。 首先,我们可以从日益单一的世界控制器中删除粒子控制代码。 其次,我们可以将每个粒子系统的变量存储在plist中。 这意味着用于初始化粒子系统(最多包含52个变量)的代码减少到只有一条简单的行,这对注重简洁的程序员来说是一个重大胜利。 最后,存在一些用于创建和编辑cocos2d-x粒子系统的在线编辑器,这意味着我们可以快速测试和优化变量,而不必每次重新加载游戏都进行猜测和检查。 我们使用了此在线编辑器。
对于这种新方案,我们担心我们的发烧友颗粒会导致帧频下降,但是Inari仍然像涂了油脂的气球一样光滑。 一个轻微的缺点是每个粒子系统都使用其自己的调度程序,这意味着每个游戏都必须在游戏暂停/恢复时分别暂停/恢复。 尽管有这个小缺点,但我们对cocos2d-x的本机方案感到非常满意。
只需看看我们的新颗粒!
– 凯特


