游戏要求
使用粒子流编程控制制作一些效果, 如“粒子光环”。
游戏实现
基本思路
设计一个粒子光环首先需要一个粒子系统ParticalSystem
,为了使粒子系统中的所有粒子在一个光环范围内游离,则必须要为粒子系统设计一对同心圆,粒子都在两圆之间游离。
因为粒子一直保持在游离状态,所以需要保存这些粒子(使用GetParticles
函数实现,具体参考官方文档),并且以一定频率更新。要使粒子游离范围在两圆之间,就可以在每次更新时实现,每次更新过程中,对粒子的发射角度做偏移,偏移值根据粒子运动的距离计算。
为了使粒子的运动有离散性,可以对粒子游离的半径做一定程度上的发散,只要保持在两圆之间即可,这可以通过Mathf.PingPong
函数实现。
架构设计
首先粒子系统需要保存系统中粒子的数目、大小、运动范围、运动发散程度等等信息,所以为其设置一个ParticleSystemClass
类;系统中的每个粒子都需要保存位置信息、发射时间、发射角度、所在圆半径等等信息,所以为其设立ParticleClass
类。
最后,实现ParticleSystemActions
类,负责粒子的运动调控,初始化所有粒子和