Ir al contenido principal

Emisor de partículas

Descripción

Este componente hace que una entidad emita partículas.

Propiedades

PropiedadTipoPor defectoDescripción
paradobooleanofalsoEstado de reproducción del emisor
emisorVidanúmero0La vida útil del emisor en segundos
particlesPerShotentero20Partículas por emisión
emitDelaynúmero0.1El tiempo entre emisiones de partículas
vida útil mínimanúmero1Vida útil mínima de cada partícula
vida útil máximanúmero1Vida útil máxima de cada partícula
masanúmero1Masa de cada partícula
gravedadnúmero0.2Factor de gravedad de cada partícula
escalanúmero0.2Escala uniforme de cada partícula
forceXnúmero5Fuerza aplicada a cada partícula en la dirección X
forceYnúmero12Fuerza aplicada a cada partícula en la dirección Y
forceZnúmero5Fuerza aplicada a cada partícula en la dirección Z
difundirnúmero360Área y dirección en que cada partícula desova respecto a su origen
radialVelocitynúmero5Cantidad de velocidad radial aplicada a cada partícula
spawnAreaTypecadenapuntoLos tipos admitidos son: 'punto', 'caja' y 'esfera'.
spawnAreaWidthnúmero0Anchura de la caja del área de spawn (sólo Box)
spawnAreaHeightnúmero0Altura de la caja del área de spawn (sólo caja)
spawnAreaDepthnúmero0Profundidad de la caja del área de desove (sólo caja)
spawnAreaRadiusnúmero0Radio de la esfera del área de spawn (sólo esfera)
boundingZoneTypecadenaNingunoLos tipos admitidos son: 'ninguno', 'caja', 'esfera'
boundingZoneWidthnúmero0Anchura de la zona delimitadora (sólo Box)
boundingZoneHeightnúmero0Altura de la zona delimitadora (sólo Box)
boundingZoneDepthnúmero0Profundidad de la zona delimitadora (sólo Box)
boundingZoneRadiusnúmero0Radio de la zona delimitadora (sólo esfera)
resourceTypecadenaspriteLos tipos admitidos son: 'sprite', y 'model'
resourceUrlcadena (URL)''URL del recurso
blendingModecadenaNingunoLos tipos admitidos son: "ninguno", "normal", "sumar", "multiplicar" y "restar".
animateColorbooleanofalsoDetermina si el color debe ser animado
colorIniciocadena (Hex)indefinidoEl color inicial de cada partícula
colorEndcadena (Hex)indefinidoEl color final de cada partícula
randomDriftbooleanofalsoActivar la deriva aleatoria para cada partícula
randomDriftRangenúmeroindefinidoDetermina el rango de deriva aleatoria y la velocidad de cada partícula
colisionesbooleanofalsoDetermina si las partículas deben responder a las colisiones físicas

Funciones

Get

Returns a read-only reference.

Example

ecs.ParticleEmitter.get(world, component.eid)

Set

Ensures the component exists on the entity, then assigns the (optional) data to the component.

Example

ecs.ParticleEmitter.set(world, component.eid, {
stopped: false,
emitterLife: 0,
particlesPerShot: 20,
emitDelay: 0.1,
minimumLifespan: 1,
maximumLifespan: 1,
mass: 1,
gravity: 0.2,
scale: 0.2,
forceX: 5,
forceY: 12,
forceZ: 5,
spread: 360
})

Mutate

Perform an update to the component within a callback function. Return true to indicate no changes made.

Example

ecs.ParticleEmitter.mutate(world, component.eid, (cursor) => {
cursor.emitDelay = 0.05;
cursor.particlesPerShot = 50;
return false;
})

Remove

Removes the component from the entity.

Example

ecs.ParticleEmitter.remove(world, component.eid)

Has

Returns true if the component is present on the entity.

Example

ecs.ParticleEmitter.has(world, component.eid)

Reset

Adds, or resets the component to its default state.

Example

ecs.ParticleEmitter.reset(world, component.eid)

Advanced Functions

Cursor

Returns a mutable reference. Cursors are reused so only one cursor for each component can exist at a time.

Example
ecs.ParticleEmitter.cursor(world, component.eid)

Acquire

Same behavior as cursor, but commit must be called after the cursor is done being used.

Example
ecs.ParticleEmitter.acquire(world, component.eid)

Commit

Called after acquire. An optional third argument determines whether the cursor was mutated or not.

Example
ecs.ParticleEmitter.commit(world, component.eid)
ecs.ParticleEmitter.commit(world, component.eid, false)

Dirty

Mark the entity as having been mutated. Only needed in a specific case where systems are mutating data.

Example
ecs.ParticleEmitter.dirty(world, component.eid)