这里的粒子系统指的是2d游戏里面的发射类技能飞行效果的实现.
粒子系统主要包括以前实现

Particle 粒子

也就是飞行技能的一个单位对象,一发炮弹,子弹等特效
基础属性有:

  • 粒子年龄
  • 粒子是否活着
  • 粒子位置
  • 粒子角度
    一个H5游戏的开发(十)
    这是一个继承了基础粒子类的子类飞行粒子,保存了当前技能配置与目标id
    一个H5游戏的开发(十)

BaseParticleGenerator 粒子生成器

有了粒子对象就要有负责创建的地方,有的技能并不是只发射1个特效.例如连续开枪,下火雨等.这个粒子生成器简单的说就是用来实例化粒子类的.
一个H5游戏的开发(十)
一个H5游戏的开发(十)

BaseParticleEmitter 基础粒子发射器

发射器负责调用生成器产生粒子并把粒子发射出去,所以发射器里包含生成器的引用,还有发射的位置

一个H5游戏的开发(十)
由于有不同的发射方式.发射器也进行了分类:

  • PointParticleEmitter 坐标点粒子发射器
  • DirectionMissileParticleEmitter 方向飞行粒子发射器
  • TargetMissileParticleEmitter 目标飞行道具发射器

BaseParticleUpdater 基础粒子更新器

通过粒子生成器创建了粒子对象,然后需要让粒子运动起来, 基础粒子更新器通过帧频调用updateParticle方法修改粒子属性.使粒子产生各种想要的运动轨迹.
一个H5游戏的开发(十)
按照粒子的变化方式又可分为多种粒子更新器:

  • AccelerateParticleUpdater 加速度粒子更新器
  • FrictionParticleUpdater 摩擦力粒子更新器
  • GravityParticleUpdater 重力粒子更新器
  • RotateParticleUpdater 旋转粒子更新器
  • TargetMissileParticleUpdater 目标飞行粒子更新器

BaseParticleCleaner 粒子清除器

粒子达到效果后,需要清除.否则会一只在场景中显示,所以需要粒子清除器进行清除
一个H5游戏的开发(十)
根据清除时机条件不同,可以把粒子清理分为:

  • AgeLimitParticleCleaner 年龄限制粒子清除器
  • DistanceLimitParticleCleaner 距离限制粒子清除器
  • RangeLimitParticleCleaner 范围限制粒子清除器

ParticleSystem 粒子系统

粒子对象 发射粒子 生成粒子… 这些类都有了.我们需要一个类把他们统一管理整合起来.粒子系统就是干这个的.
最基础的就是要把各个粒子功能类保存在一起
一个H5游戏的开发(十)
然后我们可以继承基础类进一步实现粒子的添加移除发射等.不用去关心具体的粒子功能类.
一个H5游戏的开发(十)
一个H5游戏的开发(十)

MissileManager 飞行道具管理器

在游戏使用中.我们会用到多种类型的粒子,我们可以把这些粒子做一下统一管理.外面只需要调用管理器发射道具.至于道具是需要哪个粒子器处理.由管理器统一处理.
一个H5游戏的开发(十)
一个H5游戏的开发(十)
大概的实现结构就是这样.粒子系统就讲到这.

相关文章:

  • 2021-04-08
  • 2021-10-08
  • 2022-12-23
  • 2021-06-02
  • 2022-12-23
  • 2022-01-10
  • 2022-01-08
  • 2022-01-07
猜你喜欢
  • 2021-05-09
  • 2021-05-23
  • 2021-08-13
  • 2022-02-06
  • 2021-04-22
  • 2021-12-12
相关资源
相似解决方案