想象效果
1 .粒子成火焰状,沿着玩家的身体描边在发射
2 .实际,粒子沿着玩家的整个贴图在运动,即那一张长方形的图,想要实现上面的效果,给出的切图就要是完全不规则的.
3 .粒子是由粒子发射器和管理器控制并由管理器渲染的简单游戏对象。它使用自己的轻量级物理系统,并且只能与其发射器的边界和区域进行交互。
4 .他还没有各种各样的发射器形状。比如方形发射器,这里只有点装发射
粒子基础
1 .粒子发射器基础,创建一个发射器,发射一会就停下了。想要的效果是当创建了粒子发射器,不销毁的时候,就要一直发射,但是现在却自己挺住了,最后发现是自己复制别人的代码。有一个maxParticles 参数,到了最大数就自己关掉了
2 .其他参数 文档https://photonstorm.github.io/phaser3-docs/Phaser.GameObjects.Particles.ParticleEmitter.html#maxParticles__anchor
1 .accelerationX:x方向的加速度
2 .acive:发射器是否更新自己及其粒子。
3 .alpha: { start: 1, end: 0 } 粒子透明度变化
4 .angle:{ min: 0, max: 360 } 粒子的初始角速度
5 .blendMode:发射器粒子的混合模式
6 .bounce:粒子遇到发射器边界是否会反弹。发射器边界。默认是 0
7 .bounds:约束粒子运动的矩形边界
8 .collideBottom:粒子是否与发射器底部边缘相互作用
9 .currentFrame:当前帧 。这个好像没啥效果,粒子能够随机出一帧么?
10 .delay:延迟时间
11 .emitZone:粒子发射器的形状,好像是可以设置粒子发射器的形状了
12 .follow:粒子跟随的物体
13 .frames:[],发射的粒子纹理池,怎么感觉这个设置也没啥效果。分配给粒子的纹理帧。
14 .frequency :发射频率
15 .gravityX:粒子有自己的简单物理引擎.发射粒子的水平加速度
16 .gravityY:发射粒子的垂直加速度
17 .lifespan:粒子的寿命。粒子存在的时间
18 .manager:当前粒子发射器的管理器
19 .mask:粒子的遮罩
20 .maxParticles:硬件所允许的最大粒子发射数量
21 .maxVelocityX:粒子发射的最大水平速度.maxVelocityY
22 .moveToX,moveToY.这俩看不明白
23 .name:粒子发射器的名字
24 .on:控制当前粒子发射器是否发射粒子流.也就是说可以通过切换这个属性来开启和关闭粒子发射,也可以通过调整粒子发射的速率来决定这个
25 .particaleBringToTop:新发射的粒子,层级再最上面
26 .particelClass:发射的粒子也可以单独成一个类.也就是可以是动图
27 .quantity:一个循环发射的粒子数量.每次发射粒子(一次爆炸或者一个流动循环)
28 .radial:粒子是否径向发射,如果是false的话,那么就是点发射器。如果是true的话,就会在角度最小值和最大值之间发射粒子
29 .randomFrame:布尔值。粒子是否随机一些帧
30 .rotate:发射的粒子旋转角度,如果是不规则的元素。
31 .scaleX,scaleY
32 .scrollFactorX:游戏对象的水平滚动系数,滚动因子控制相机移动对该游戏对象在屏幕上的渲染位置。不会改变游戏对象的实际位置值。值为1表示他将于相机完全同步移动。值为0表示不会移动,即使相机移动也是如此
33 .speedX:发射粒子的初始水平速度,speedY
34 .texture:分配给粒子的纹理
35 .timeScale:应用于活动粒子的时间速率,影响寿命,运动和补间。大于1的值比正常值快
36 .tint:可以调节发射粒子的色调。比如受击变色之类的简单的操作,可以直接这个实现,不需要
37 .visible:控制粒子的出现和隐藏
38 .x 粒子原点的x坐标,发射粒子的位置的X坐标
39 .y 粒子原点的y坐标
怎么把babylon.js里面的粒子发射器移植到这里
1 .就是用那个的编辑器编辑粒子,然后在这里导出
发射器的方法
1 .atLimit() 当前粒子发射器是否处于极限状态
2 .clearMask() 清除当前游戏对象使用的遮罩
3 .createGeometryMask() 创建并返回一个几何遮罩
4 .emitParticle(count,x,y) 在(x,y)位置发射count个粒子
5 .explode(count,x,y)将发射器处于爆炸模式。停止任何当前粒子流,并同时发射多个粒子
6 .flow() 将发射器置于流动模式,并启动粒子流。按照周期来稳定的发射粒子
7 .fromJSON() 从一个json 文件的配置合并到当前设置中。所以我是可以自己做一个粒子编辑器的。然后上传动态拖拽好的配置
8 .getAliveParticleCount() 获取次发射器中活动粒子的数量
9 .getParticleCount() 获取发射器中的粒子总数
10 .killAll() 停止发射器中的每个粒子
11 .pause() 暂停这个粒子发射器
12 .preUpdate() 预发射这个粒子
13 .remove() 从管理器和场景中删除这个粒子发射器。这是遇到的第一个提供效果的函数。那个destory完全都使用不了
14 .reserve 创建一些非活动粒子并将他们添加到此发射器的池中
15 .resume 恢复上面暂停的发射器
16 .setAlpha 设置粒子的不透明度
17 .setAngle 设置粒子的角度
18 .setBlendMode 设置粒子的混合模式
19 .setBounds 设置或者修改粒子的约束边界
20 .setEmitterAngle 设置粒子流的角度
21 .setEmitZone:edgeZone将粒子放置在其边缘上,可以是曲线,路径,多边形,矩形或者三角形。也就是粒子可以沿着一段线条,或者在一个范围内发射
22 .setFrame 将纹理帧分配给发射粒子的模式
23 .setFrequency:设置发射器的发射频率。很多方法都是在修改上面的属性。
24 .setGravity:设置粒子的重力
25 .setLifespan :
26 .setPosition:设置新的粒子发射器位置,新的粒子将会在这里发射
27 .setQuantity:设置每个流动循环或爆炸时释放的粒子数
28 .setScale
29 .setSpeed: 设置发射粒子的初始径向速度,将发射器更改为径向模式
30 .setVisible:设置可见性
31 .start():在发射器上打开并重置流量计数器
32 .startfFollow:连续移动粒子原点来跟随游戏对象的位置
33 .stop:关闭发射器
34 .stopFollow:停止跟随
35 .toJSON:创建适用于JSON序列化的此发射器的描述
粒子动画
this.particles = this.add.particles('m_1')
this.particles.createEmitter({
// alpha: { start: 1, end: 0 },
scale: { start: 0.5, end: 2.5 },
frames: [10],
// curentFrame:10,
quantity: 1,
frequency: 200,
angle: { min: 0, max: 30 },
speed: 20,
gravityY: 100,
lifespan: { min: 1000, max: 2000 },
follow:this.Hero
})
网友评论