重磅 - 子弹编辑器 源码分享

本次为大家分享由下列帖子中的子弹系统的修改版本(原版本为公司项目,无法分享)
https://forum.cocos.com/t/topic/71652/16
首先我知道大伙无图无真相的,下面帖出效果图,录制软件是免费的,帧数比较少,如果想看效果则去码云开源项目




码云开源项目地址:https://gitee.com/pabble_561/ParticleSystem

如果有兴趣的下,下面开始是使用的一些简单教程
项目为ParticleSystem为名,是因为起初想改写为自己的粒子效果而为目的的,所以本文下列如果有提到粒子相关的,其实就是本子弹系统的一样的东西

本项目共两个场景Demo.fire和ParticleSystem/ParticleSystem.fire
ParticleSystem是具体配置单个粒子文件效果
DEMO下是如果使用文件生成具体效果的


接下来先说ParticleSystem如何配置
前提先说明一下本系统中的核心5个类
ParticleEditor:编辑打包类,将编辑好的粒子输出为一个json文件,输出后,直接使用json可生成相同效果
ParticlePool:不用多说,对象池缓存用的
ParticleSprite: 生成后的单个粒子节点
ParticleSystem:核心类,生成粒子的主要类
ParticleSystemEditor: 粒子的面板编辑器,编辑好后数据传递给ParticleSystem类,直接展示效果

如何配置-----
介绍一下ParticleSystem的debug模式和release模式
debug:勾选useEditor后,会添加一个ParticleSystemEditor编辑器来实时调整数据,
release:取消useEditor后,将现有的json文件赋值给asset运行

重点介绍ParticleSystemEditor这个编辑器,

面板上每一个参数几乎都有说明。但是这里还是说明一下本系统的使用逻辑一些关键数据
emissionRate:每秒的发射数量
speed: 每个粒子的移动速度,运行时ParticleSystem会转化成x,y的移动速度
startAngle:初始角度值,默认为0,默认方向是12点钟方 180度是6点钟方向
spriteFrame:图片资源的resource下的相对路径,因为这里设置为图片的话,保存比较困难,所以就直接使用路径了
基本上有上面4个参数,就能运行起来了,剩下的参数可自行设置后然后查看效果。


如何保存----假如上面已经配置 相要的效果,则可以在web运行的场景里点击导出按钮,可将本效果的参数输出为json
如图


复制这串json数据,新建一个json文件存起来。就是一个完整的粒子文件了


如何使用
最简单的使用,在其他的场景上新建一个节点,拖入ParticleSystem脚本,然后把已有的json文件拖给asset文件,直接运行即可
较为复杂的使用,请自行查看DEMO场景


需要注意事项
1、因为本系统最适合射击类项目,但是射击类的比较注意子弹层级。所以注意ParticleSystem中的setParticleLayer方法,生成的单个粒子的父节点不一定在ParticleSystem的节点上,而是在setParticleLayer中的节点,如果为空,才为本节点
2、launchData参数说明,正常本数组有仅至少有一个参数[{dx:0,dy:0,dr:0}],因为cocos系统原因,update中的参数dt是有差异的,如果需要一个节点中发射的多排子弹需要同样的时间差和间距差。相同配置的子弹需要发多排的话,必须使用此参数来添加数组长度,如图每一排的Y间距都是一样

最后新增一个帖子是如何在实际项目中使用本系统
https://forum.cocos.com/t/fc/81272

28赞

暂时还用不上,不过看着挺酷,插个眼。赞赞赞

看起来不错

mark一下

插眼!

你好,请你看下私信。

私信已回

mark

mark

插眼+

maker

mark

mark

mark

引擎团队是要收购吗

牛逼~

mark

那要如何处理碰撞问题?

mark

mark