egret-docs-master/extension/particle/GravityParticleSystem/README.md

173 lines
4.6 KiB
Markdown
Raw Permalink Normal View History

2024-06-19 13:32:32 +08:00
## 概述
GravityParticleSystem 是继承自 ParticleSystem 扩展的重力粒子系统,在该系统中通过设置重力、速度、径向加速度以及切向加速度实现粒子不同的运动轨迹。
## 说明
该系统中大部分的参数都是由2个数值决定的基础值和差值。粒子在被创建时的属性值是由基础值加上随机的差值浮动决定的差值的浮动在正负差值之间。例如粒子存活时间的基础值是1000差值是500那么创建粒子的时候粒子的存活时间是 基础值 + 差值 * (Math.random() * 2 - 1)也就是500到1500之间随机。
属性
** private emitterXVariance:number; **
```
@brief 粒子初始坐标 x 差值,取值范围[-Number.MAX_VALUE,Number.MAX_VALUE]
```
** private emitterYVariance:number; **
```
@brief 粒子初始坐标 y 差值,取值范围[-Number.MAX_VALUE,Number.MAX_VALUE]
```
** private lifespan:number; **
```
@brief 粒子存活时间,单位毫秒,取值范围(0,Number.MAX_VALUE]
```
** private lifespanVariance:number; **
```
@brief 粒子存活时间差值,单位毫秒,取值范围(0,Number.MAX_VALUE]且不大于 lifespan
```
** private emitAngle:number; **
```
@brief 粒子出现时的角度,取值范围[-Number.MAX_VALUE,Number.MAX_VALUE]
```
** private emitAngleVariance:number; **
```
@brief 粒子出现时的角度差值,取值范围[-Number.MAX_VALUE,Number.MAX_VALUE]
```
** private speed:number; **
```
@brief 粒子出现时速度,取值范围[-Number.MAX_VALUE,Number.MAX_VALUE]
```
** private speedVariance:number; **
```
@brief 粒子出现时速度差值,取值范围[-Number.MAX_VALUE,Number.MAX_VALUE]
```
** private gravityX:number; **
```
@brief 粒子水平重力,取值范围[-Number.MAX_VALUE,Number.MAX_VALUE]
```
** private gravityY:number; **
```
@brief 粒子垂直重力,取值范围[-Number.MAX_VALUE,Number.MAX_VALUE]
```
** private radialAcceleration:number; **
```
@brief 粒子径向加速度,取值范围[-Number.MAX_VALUE,Number.MAX_VALUE]
```
** private radialAccelerationVariance:number; **
```
@brief 粒子径向加速度差值,取值范围[-Number.MAX_VALUE,Number.MAX_VALUE]
```
** private tangentialAcceleration:number; **
```
@brief 粒子切向加速度,取值范围[-Number.MAX_VALUE,Number.MAX_VALUE]
```
** private tangentialAccelerationVariance:number; **
```
@brief 粒子切向加速度差值,取值范围[-Number.MAX_VALUE,Number.MAX_VALUE]
```
** private startSize:number; **
```
@brief 粒子出现时大小,取值范围(0,Number.MAX_VALUE],粒子将会在存活时间内由 startSize 慢慢变为 endSize
```
** private startSizeVariance:number; **
```
@brief 粒子出现时大小差值,取值范围(0,Number.MAX_VALUE]
```
** private endSize:number; **
```
@brief 粒子消失时大小,取值范围(0,Number.MAX_VALUE],粒子将会在存活时间内由 startSize慢慢变为 endSize
```
** private endSizeVariance:number; **
```
@brief 粒子消失时大小差值,取值范围(0,Number.MAX_VALUE]且不大于endSize
```
** private startRotation:number; **
```
@brief 粒子出现时旋转值,取值范围[-Number.MAX_VALUE,Number.MAX_VALUE],粒子将会在存活时间内由 startRotation 慢慢变为 endRotation
```
** private startRotationVariance:number; **
```
@brief 粒子出现时旋转值差值,取值范围[-Number.MAX_VALUE,Number.MAX_VALUE]
```
** private endRotation:number; **
```
@brief 粒子消失时旋转值,取值范围[-Number.MAX_VALUE,Number.MAX_VALUE],粒子将会在存活时间内由 startRotation 慢慢变为 endRotation
```
** private endRotationVariance:number; **
```
@brief 粒子消失时旋转值差值,取值范围[-Number.MAX_VALUE,Number.MAX_VALUE]
```
** private startAlpha:number; **
```
@brief 粒子出现时的 Alpha 透明度值,取值范围[-Number.MAX_VALUE,Number.MAX_VALUE],粒子将会在存活时间内由 startAlpha 慢慢变为 endAlpha
```
** private startAlphaVariance:number; **
```
@brief 粒子出现时的 Alpha 透明度差值,取值范围[-Number.MAX_VALUE,Number.MAX_VALUE]
```
** private endAlpha:number; **
```
@brief 粒子消失时的 Alpha 透明度值,取值范围[-Number.MAX_VALUE,Number.MAX_VALUE],粒子将会在存活时间内由 startAlpha 慢慢变为 endAlpha
```
** private endAlphaVariance:number; **
```
@brief 粒子消失时的 Alpha 透明度差值,取值范围[-Number.MAX_VALUE,Number.MAX_VALUE]
```
## 方法
** constructor(texture:egret.Texture, config:any) **
```
@brief 构造函数 @param texture {egret.Texture} 粒子纹理 @param config {any} 粒子属性配置,包含重力系统所需要的各项属性值
```