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

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


目录

一、组件属性

二、组件使用

三、效果演示

四、性能优化


一、组件属性

属性功能说明
Preview在编辑器模式下预览粒子,启用后选中粒子时,粒子将自动播放
Play On Load如果设置为 true 运行时会自动发射粒子
Auto Remove On Finish粒子播放完毕后自动销毁所在的节点
FilePlist 格式的粒子配置文件
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中非常实用的工具,可以帮助开发者轻松地创建各种炫酷的效果,并且通过性能优化可以保证游戏的流畅运行。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/6109.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

迅为3A5000_7A2000工控主板,龙芯自主指令集架构全国产工业级板卡性能

迅为iTOP-3A5000开发板核心板底板方式,底板资料开源,提供底板的原理图和PCB工程文件,可以根据需求定制属于自己的开发板。 核心板也支持工业级核心板定制开发。 根据二进制翻译功能使用,可流畅运行WIN和Android系统APP。 支持Loo…

renderdoc resource manager说明

*写在前面 只针对renderdoc opengl es 场景进行说明, vukan的没有,不过其实应该也差不多啦,若有必要后面再考虑补上。本文使用 文字图代码 的方式叙述,若只想了解原理过程,可忽略代码部分, 由于renderdoc代…

文章生成器-免费的文章生成器

随着信息爆炸的时代,自媒体人员不仅需要创造性的策略,还需要快速产生具有高质量文章的能力,这样才能快速响应趋势并保持优势。文章生成器,一款基于人工智能和自然语言处理技术的文本生成软件,可在没有任何人工干预的情…

企业搭建帮助中心的额方式有哪些?

帮助中心对于企业价值的重要性在于提高客户满意度和忠诚度,增强企业品牌形象,促进业务增长和提高利润率。通过提供详细的帮助文档和客户支持,企业可以向客户传达其专业知识和技能,并帮助客户更好地使用其产品或服务。这将提高客户…

C++(Qt)软件调试---使用任务管理器导出Dump(6)

C(Qt)软件调试—使用任务管理器导出Dump(6) 文章目录C(Qt)软件调试---使用任务管理器导出Dump(6)1、前言2、软件下载3、使用三款软件导出Dump4、软件下载地址更多精彩内容👉个人内容分类汇总 👈&#x1f44…

『.NET Tools』在.NET中实现汉字转拼音,只要一个方法就够了!

📣读完这篇文章里你能收获到 傻瓜式扩展方法直接使用可实现汉字转拼音及汉字转拼音首字母功能感谢点赞收藏,避免下次找不到~ 文章目录一、代码引用Step 1 : 安装包,通过Nuget安装包Step 2 : 代码通过扩展方法/帮助类实现实现汉字转拼音实现汉…

谷粒商城-redis分布式锁系列

1.压力测试出的内存泄漏及解决(可跳过) 使用jmeter对查询产品分类列表接口进行压力测试,出现了堆外内存溢出异常。 我们设置的虚拟机堆内存100m,并不是堆外内存100m 产生堆外内存溢出:OutOfDirectMemoryError 原因是…

2023.4.3

ctrlf:全局替换 alt鼠标左键:整列编辑 ctrlaltl:格式化 AJAX 简介 概念:AJAX:异步(客户端不用等待服务端的反应)的Javascript和XML AJAX的作用: 与服务器进行数据交互:通过AJA…

Adaptive AUTOSAR——Execution Management(VRTE 3.0 R21-11)

ChatGPT回答: Adaptive AUTOSAR Execution Management 模块是用于管理软件执行的模块,其主要功能包括: 任务调度:支持对任务进行调度和执行,以实现系统中各个功能的协调运行;软件组件管理:支持对…

python 读取xml从入门到精通

XML (Extensible Markup Language),可扩展标记语言,是一种被广泛应用于网络上的文件格式。在互联网上,网页里的信息都以 XML格式存储,例如 HTML、 CSV、 JSON等。随着电子商务的发展,人们需要在…

【面试】Java异常面试题

文章目录Java异常架构与异常关键字Java异常简介Java异常架构1. Throwable2. Error(错误)3. Exception(异常)4. 受检异常与非受检异常Java异常关键字Java异常处理声明异常抛出异常捕获异常如何选择异常类型常见异常处理方式直接抛出…

35岁,失业6个月终于接到降薪offer:有面就面,薪酬不限,随机应变说瞎话,对奇葩面试官保持礼貌克制,为拿offer什么都能忍...

被裁后为了生存,人需要做出什么改变?一位35岁网友在失业6个月后终于拿到offer,虽然降薪到四年前的水平,但能继续养家糊口,楼主已经很满意了,并分享了自己的个人经验:1.挖掘历史项目经验&#xf…

为什么ClassPathResource可以读取到流?- 第465篇

历史文章(文章累计460) 《国内最全的Spring Boot系列之一》 《国内最全的Spring Boot系列之二》 《国内最全的Spring Boot系列之三》 《国内最全的Spring Boot系列之四》 《国内最全的Spring Boot系列之五》 《国内最全的Spring Boot系列之六》 S…

68-信号量

文章目录信号量一.什么是信号量二.信号量的接口三.信号量的使用1.思路2.代码3.编译及结果四.ipcs命令信号量 信号量就是控制某个进程能够对某个资源进行访问;保证同一时刻只能由一个进程对 某个资源进程访问; 打印机 一.什么是信号量 信号量是一个特殊的变量,一…

全网最详细的UI自动化测试元素定位方法总结

目录 前言 元素定位概述 常用的元素定位器 元素定位方法 元素定位技巧 总结 前言 UI自动化测试是软件测试中的一个重要环节,它可以通过模拟用户的实际操作,自动化执行UI界面上的测试用例,以提高测试效率和准确性。元素定位是UI自动化测…

卡尔曼滤波浅析

文章目录前言任务状态预测外部影响因素外部不确定性状态更新利用测量进一步修正状态合并两个高斯分布公式汇总图形化解释总结(readme)references前言 Kalman Filter算法,是一种递推预测滤波算法,算法中涉及到滤波,也涉…

数据更新 | CnOpenData法拍房数据

法拍房数据 一、数据简介 法拍房,即“法院拍卖房产”,是被法院强制执行拍卖的房屋 。当债务人(业主)无力履行借款合约或无法清偿债务时,而被债权人经司法程序向法院申请强制执行,将债务人名下房屋拍卖&…

sql注入靶场练习

文章目录Less-1Less-2Less-3Less-4Less-5Less-6Less-7Less-8Less-9Less-10Less-11Less-12Less-13Less-14Less-15Less-16Less-17less-18Less-19Less-20Less-1 union没有被过滤,先试出来长度。 ?id1orderby3%23 ?id1orderby4%23到4时,发现 然后再试出来…

JVM与Java体系

JVM体系跟着尚硅谷的康师傅学习 JVM内存与垃圾回收概述 除了大部分的Java开发 人员,除了会在项目中使用到与Java平台相关的框架,与API,对于Java的虚拟机了解甚少。但是也需要我们知道如何处理OOM,SOF异常,除了…

Java实现一个简单的东南西北中的面板

目录 一、前言 二、代码部分 1.代码 三、程序运行结果(面板弹出) 四、涉及到的知识点代码 一、前言 1.本代码是我在上学时写的,有一些地方没能完美实现,请包涵也请多赐教! 2.本弹窗界面可以根据简单的要求进行…
最新文章