# Class: Particle
# Hierarchy
BasicParticle
↳
Particle
# Table of contents
# Constructors
# Events
# Properties
# Accessors
- billboardMode
- data
- el
- emitterPosition
- id
- material
- particleEmitter
- scene
- spriteChangeSpeed
- useBillboard
- useRampGradients
- useRandomSpriteCellIndex
- useSpriteCellLoop
- useSpriteSheet
- version
# Methods
- addAlphaGradient
- addColorGradient
- addColorRemapGradient
- addDragGradient
- addLimitSpeedGradient
- addRampGradient
- addSizeGradient
- addSpeedScaleGradient
- clone
- createBoxEmitter
- createPointEmitter
- createSphereEmitter
- createSubEmitter
- getData
- initParticle
- resetParticle
- setData
- setDataOne
- start
- stop
# Constructors
# constructor
• new Particle()
# Inherited from
BasicParticle.constructor
# Events
# onAdd
• onAdd:
# onRelease
• onRelease:
# onRemove
• onRemove:
# onTick
• onTick:
# onUpdate
• onUpdate:
# Properties
# priority
• Readonly
priority: number
= 300
# Overrides
BasicParticle.priority
# schema
• Readonly
schema: IComponentSchema
# Inherited from
BasicParticle.schema
# subEmitters
• subEmitters: any
= null
# EVENTS
▪ Static
EVENTS: string
[]
# Overrides
BasicParticle.EVENTS
# Accessors
# billboardMode
• get
billboardMode(): number
# Returns
number
• set
billboardMode(value
): void
# Parameters
Name | Type |
---|---|
value | number |
# Returns
void
# data
• get
data(): IParticleData
# Returns
• set
data(value
): void
# Parameters
Name | Type |
---|---|
value | IParticleData |
# Returns
void
# el
• get
el(): Element
挂载的元素。
# Returns
# emitterPosition
• get
emitterPosition(): Vector3
# Returns
• set
emitterPosition(value
): void
# Parameters
Name | Type |
---|---|
value | Vector3 |
# Returns
void
# id
• get
id(): number
# Returns
number
# material
• get
material(): Material
# Returns
• set
material(value
): void
# Parameters
Name | Type |
---|---|
value | Material |
# Returns
void
# particleEmitter
• get
particleEmitter(): BasicShapeEmitter
# Returns
BasicShapeEmitter
# scene
• get
scene(): Scene
当前场景。
# Returns
# spriteChangeSpeed
• get
spriteChangeSpeed(): number
# Returns
number
# useBillboard
• get
useBillboard(): boolean
# Returns
boolean
• set
useBillboard(value
): void
# Parameters
Name | Type |
---|---|
value | boolean |
# Returns
void
# useRampGradients
• get
useRampGradients(): boolean
# Returns
boolean
• set
useRampGradients(value
): void
# Parameters
Name | Type |
---|---|
value | boolean |
# Returns
void
# useRandomSpriteCellIndex
• get
useRandomSpriteCellIndex(): boolean
# Returns
boolean
# useSpriteCellLoop
• get
useSpriteCellLoop(): boolean
# Returns
boolean
# useSpriteSheet
• get
useSpriteSheet(): boolean
# Returns
boolean
• set
useSpriteSheet(value
): void
# Parameters
Name | Type |
---|---|
value | boolean |
# Returns
void
# version
• get
version(): number
当前版本,每次有数据更新都会增加,可以用作和其他组件合作的依据。
# Returns
number
# Methods
# addAlphaGradient
▸ addAlphaGradient(gradient
, alpha
, alpha2?
): void
添加粒子运动过程中的透明度变化规则。
# Parameters
Name | Type | Description |
---|---|---|
gradient | number | 指定所处粒子生命周期的阶段 |
alpha | number | 指定粒子颜色透明度的左区间[0-1] |
alpha2? | number | 指定粒子颜色透明度的右区间[0-1] |
# Returns
void
# Inherited from
BasicParticle.addAlphaGradient
# addColorGradient
▸ addColorGradient(gradient
, color1
, color2?
): void
添加粒子运动过程中的颜色变化规则。
# Parameters
Name | Type | Description |
---|---|---|
gradient | number | 指定所处粒子生命周期的阶段 |
color1 | Vector4 | 指定粒子颜色的左区间 |
color2? | Vector4 | 指定粒子颜色的右区间 |
# Returns
void
# Inherited from
BasicParticle.addColorGradient
# addColorRemapGradient
▸ addColorRemapGradient(gradient
, min
, max?
): void
添加粒子运动过程中的透明度变化范围。
# Parameters
Name | Type | Description |
---|---|---|
gradient | number | 指定所处粒子生命周期的阶段 |
min | number | 指定粒子透明度值的左区间 |
max? | number | 指定粒子透明度值的右区间 |
# Returns
void
# Inherited from
BasicParticle.addColorRemapGradient
# addDragGradient
▸ addDragGradient(gradient
, drag
, drag2?
): void
添加粒子运动过程中的阻力规则。
# Parameters
Name | Type | Description |
---|---|---|
gradient | number | 指定所处粒子生命周期的阶段 |
drag | number | - |
drag2? | number | - |
# Returns
void
# Inherited from
BasicParticle.addDragGradient
# addLimitSpeedGradient
▸ addLimitSpeedGradient(gradient
, limitSpeed
, limitSpeed2?
): void
添加粒子运动过程中的速度限制规则。
# Parameters
Name | Type | Description |
---|---|---|
gradient | number | 指定所处粒子生命周期的阶段 |
limitSpeed | number | 指定粒子限制速度的左区间 |
limitSpeed2? | number | 指定粒子限制速度的右区间 |
# Returns
void
# Inherited from
BasicParticle.addLimitSpeedGradient
# addRampGradient
▸ addRampGradient(gradient
, color
): void
添加粒子运动过程中的根据透明度影响的颜色变化规则,将通过颜色变化图纹理进行采样。
# Parameters
Name | Type | Description |
---|---|---|
gradient | any | 指定粒子颜色变化图的具体位置,对应具体值应为(1-alpha) |
color | any | 指定该位置的颜色 |
# Returns
void
# Inherited from
BasicParticle.addRampGradient
# addSizeGradient
▸ addSizeGradient(gradient
, size
, size2?
): void
添加粒子运动过程中的尺寸变化规则。
# Parameters
Name | Type | Description |
---|---|---|
gradient | number | 指定所处粒子生命周期的阶段 |
size | number | 指定粒子尺寸的左区间 |
size2? | number | 指定粒子尺寸的右区间 |
# Returns
void
# Inherited from
BasicParticle.addSizeGradient
# addSpeedScaleGradient
▸ addSpeedScaleGradient(gradient
, speed
, speed2?
): void
添加粒子运动过程中的速度变化规则。
# Parameters
Name | Type | Description |
---|---|---|
gradient | number | 指定所处粒子生命周期的阶段 |
speed | number | 指定粒子速度的左区间 |
speed2? | number | 指定粒子速度的右区间 |
# Returns
void
# Inherited from
BasicParticle.addSpeedScaleGradient
# clone
▸ clone(): Particle
获取一个拷贝的粒子系统。
# Returns
# Inherited from
BasicParticle.clone
# createBoxEmitter
▸ createBoxEmitter(direction1
, direction2
, minEmitBox
, maxEmitBox
): default
创建一个箱形发射器。
# Parameters
Name | Type | Description |
---|---|---|
direction1 | Vector3 | 粒子运动方向左区间 |
direction2 | Vector3 | 粒子运动方向右区间 |
minEmitBox | Vector3 | 粒子生成位置最小允许坐标 |
maxEmitBox | Vector3 | 粒子生成位置最大允许坐标 |
# Returns
default
箱形发射器
# Inherited from
BasicParticle.createBoxEmitter
# createPointEmitter
▸ createPointEmitter(direction1
, direction2
): default
创建一个点发射器。
# Parameters
# Returns
default
点发射器
# Inherited from
BasicParticle.createPointEmitter
# createSphereEmitter
▸ createSphereEmitter(radius
, radiusRange
, arc
, randomizeDirection
): default
创建一个球形发射器。
# Parameters
Name | Type | Description |
---|---|---|
radius | number | 球形半径 |
radiusRange | number | 球形区域内的覆盖范围[0-1] |
arc | number | 粒子在球形内生成的角度区间[0-360] |
randomizeDirection | number | 粒子运动方向偏离程度[0-1] |
# Returns
default
球形发射器
# Inherited from
BasicParticle.createSphereEmitter
# createSubEmitter
▸ createSubEmitter(data
): SubEmitter
获取一个粒子子发射器。
# Parameters
Name | Type |
---|---|
data | IParticleData |
# Returns
SubEmitter
# Inherited from
BasicParticle.createSubEmitter
# getData
▸ getData<T
>(key
): IParticleData
[T
]
获取一个当前值。
# Type parameters
Name | Type |
---|---|
T | extends keyof IParticleData |
# Parameters
Name | Type |
---|---|
key | T |
# Returns
# Inherited from
BasicParticle.getData
# initParticle
▸ initParticle(data
): void
初始化粒子系统的状态。
# Parameters
Name | Type |
---|---|
data | IParticleData |
# Returns
void
# resetParticle
▸ resetParticle(): void
重置粒子系统的状态。
# Returns
void
# setData
▸ setData(data
): void
不通过xml
而是直接设置data
,注意值的类型需要和schema
中一致。
# Parameters
Name | Type |
---|---|
data | Partial <IParticleData > |
# Returns
void
# Inherited from
BasicParticle.setData
# setDataOne
▸ setDataOne<T
>(key
, value
): void
设置一个数据。
# Type parameters
Name | Type |
---|---|
T | extends keyof IParticleData |
# Parameters
Name | Type |
---|---|
key | T |
value | IParticleData [T ] |
# Returns
void
# Inherited from
BasicParticle.setDataOne
# start
▸ start(delay?
): void
粒子系统开始播放。
# Parameters
Name | Type | Default value | Description |
---|---|---|---|
delay | number | 0 | 设定粒子延时几秒后再播放。 |
# Returns
void
# stop
▸ stop(): void
停止粒子系统与其子发射器的播放。
# Returns
void