【CocosCreator入门】CocosCreator组件 | ParticleSystem (粒子)组件

        Cocos Creator 是一款流行的游戏开发引擎,具有丰富的组件和工具,其中ParticleSystem组件是一个用于创建粒子效果的工具,可用于实现火花、爆炸、雪花等效果。


目录

一、组件属性

二、组件使用

三、效果演示

四、性能优化


一、组件属性

属性 功能说明
Preview 在编辑器模式下预览粒子,启用后选中粒子时,粒子将自动播放
Play On Load 如果设置为 true 运行时会自动发射粒子
Auto Remove On Finish 粒子播放完毕后自动销毁所在的节点
File Plist 格式的粒子配置文件
Custom 是否自定义粒子属性。开启该属性后可自定义以下部分粒子属性
Sprite Frame 自定义的粒子贴图
Duration 发射器生存时间,单位秒,-1 表示持续发射
Emission Rate 每秒发射的粒子数目
Life 粒子的运行时间及变化范围
Total Particle 粒子最大数量
Start Color 粒子初始颜色
Start Color Var 粒子初始颜色变化范围
End Color 粒子结束颜色
End Color Var 粒子结束颜色变化范围
Angle 粒子角度及变化范围
Start Size 粒子的初始大小及变化范围
End Size 粒子结束时的大小及变化范围
Start Spin 粒子开始自旋角度及变化范围
End Spin 粒子结束自旋角度及变化范围
Source Pos 发射器位置
Pos Var 发射器位置的变化范围。(横向和纵向)
Position Type 粒子位置类型,包括 FREERELATIVEGROUPED 三种
Emitter Mode 发射器类型,包括 GRAVITYRADIUS 两种
Gravity 重力。仅在 Emitter Mode 设为 GRAVITY 时生效
Speed 速度及变化范围。仅在 Emitter Mode 设为 GRAVITY 时生效
Tangential Accel 每个粒子的切向加速度及变化范围,即垂直于重力方向的加速度。仅在 Emitter Mode 设为 GRAVITY 时生效
Radial Accel 粒子径向加速度及变化范围,即平行于重力方向的加速度。仅在 Emitter Mode 设为 GRAVITY 时生效
Rotation Is Dir 每个粒子的旋转是否等于其方向。仅在 Emitter Mode 设为 GRAVITY 时生效
Start Radius 初始半径及变化范围,表示粒子发射时相对发射器的距离。仅在 Emitter Mode 设为 RADIUS 时生效
End Radius 结束半径。仅在 Emitter Mode 设为 RADIUS 时生效
Rotate Per S 粒子每秒围绕起始点的旋转角度及变化范围。仅在 Emitter Mode 设为 RADIUS 时生效
Src Blend Factor 混合显示两张图片时,原图片的取值模式
Dst Blend Factor 混合显示两张图片时,目标图片的取值模式

二、组件使用

        首先,在场景中添加一个ParticleSystem组件。在属性检查器中,可以设置各种粒子效果的参数,例如颜色、大小、速度等。如果需要更加复杂的效果,可以通过设置纹理图集、粒子发射的位置和方向等属性来实现。

然后,可以通过编写脚本来动态地控制ParticleSystem组件。首先需要获取ParticleSystem组件的引用,可以通过以下代码来实现:

let particleSystem = this.node.getComponent(cc.ParticleSystem);

        其中this.node指代当前场景中包含ParticleSystem组件的节点,cc.ParticleSystem则是ParticleSystem组件的类名。

        接下来,可以通过调用ParticleSystem组件的方法来改变粒子效果的状态。例如,通过调用particleSystem.resetSystem()方法可以重新启动粒子系统,而通过particleSystem.stopSystem()方法则可以停止粒子系统。此外,还可以通过设置各种属性来改变粒子效果的行为,例如通过particleSystem.setScale(0.5)方法可以将粒子系统的大小减半。

        最后,可以通过监听ParticleSystem组件的事件来响应不同的状态变化。例如,可以通过监听"stop"事件来在粒子系统停止时执行自定义的逻辑,例如播放音效或者移除节点等。可以通过以下代码来实现:

particleSystem.node.on(cc.ParticleSystem.EventType.STOP, function () {
    console.log("ParticleSystem stopped");
});

其中cc.ParticleSystem.EventType.STOP表示停止事件的类型,function () {}则是事件响应函数。 

三、效果演示

四、性能优化

        ParticleSystem组件是基于GPU加速的,因此可以支持大量的粒子运动,而不影响游戏性能。为了进一步优化性能,可以通过调整以下参数:

  • 最大粒子数:限制粒子的数量,避免对游戏性能产生太大影响。
  • 纹理过滤模式:选择合适的纹理过滤模式以提高渲染效率。

        总之,ParticleSystem组件是Cocos Creator中非常实用的工具,可以帮助开发者轻松地创建各种炫酷的效果,并且通过性能优化可以保证游戏的流畅运行。

猜你喜欢

转载自blog.csdn.net/dxt19980308/article/details/129959642