Moai SDK  2.0
MOAIParticleScript Class Reference

Inherits MOAILuaObject.

Function List

abs
 
add
 
angleVec
 
color
 
cos
 
cycle
 
div
 
ease
 
easeDelta
 
mul
 
norm
 
oscillate
 
packConst
 
packLiveReg
 
packReg
 
rand
 
randInt
 
randVec
 
set
 
setLiveReg
 
sin
 
sprite
 
step
 
sub
 
tan
 
time
 
vecAngle
 
wrap
 

Detailed Description

Constants
MOAIParticleScript.PARTICLE_X
MOAIParticleScript.PARTICLE_Y
MOAIParticleScript.PARTICLE_DX
MOAIParticleScript.PARTICLE_DY
MOAIParticleScript.SPRITE_X_LOC
MOAIParticleScript.SPRITE_Y_LOC
MOAIParticleScript.SPRITE_ROT
MOAIParticleScript.SPRITE_X_SCL
MOAIParticleScript.SPRITE_Y_SCL
MOAIParticleScript.SPRITE_RED
MOAIParticleScript.SPRITE_GREEN
MOAIParticleScript.SPRITE_BLUE
MOAIParticleScript.SPRITE_OPACITY
MOAIParticleScript.SPRITE_GLOW
MOAIParticleScript.SPRITE_IDX

Function Documentation

abs

r0 = abs(v0)


function abs ( MOAIParticleScript self, number r0, number v0 )

Parameters
MOAIParticleScriptself
numberr0
numberv0
Returns
nil
add

r0 = v0 + v1


function add ( MOAIParticleScript self, number r0, number v0, number v1 )

Parameters
MOAIParticleScriptself
numberr0
numberv0
numberv1
Returns
nil
angleVec

Load two registers with the X and Y components of a unit vector with a given angle.


function angleVec ( MOAIParticleScript self, number r0, number r1, number v0 )

Parameters
MOAIParticleScriptself
numberr0 Register to store result X.
numberr1 Register to store result Y.
numberv0 Angle of vector (in degrees).
Returns
nil
color

r0, r1, r2, r3 = color (of the MOAIParticleSystem) Note that if you do not specify SPRITE_RED and related values, sprites are rendered with the current values. This function is useful to store the values when the initialization script is run in registers.


function color ( MOAIParticleScript self, number r0, number r1, number r2 [, number r3 ] )

Parameters
MOAIParticleScriptself
numberr0 r
numberr1 g
numberr2 b
numberr3 Optional. a
Returns
nil
cos

r0 = cos(v0)


function cos ( MOAIParticleScript self, number r0, number v0 )

Parameters
MOAIParticleScriptself
numberr0
numberv0
Returns
nil
cycle

Cycle v0 between v1 and v2.


function cycle ( MOAIParticleScript self, number r0, number v0, number v1, number v2 )

Parameters
MOAIParticleScriptself
numberr0
numberv0
numberv1
numberv2
Returns
nil
div

r0 = v0 / v1


function div ( MOAIParticleScript self, number r0, number v0, number v1 )

Parameters
MOAIParticleScriptself
numberr0
numberv0
numberv1
Returns
nil
ease

Load a register with a value interpolated between two numbers using an ease curve.


function ease ( MOAIParticleScript self, number r0, number v0, number v1, number easeType )

Parameters
MOAIParticleScriptself
numberr0 Register to store result.
numberv0 Starting value of the ease.
numberv1 Ending value of the ease.
numbereaseType See MOAIEaseType for a list of ease types.
Returns
nil
easeDelta

Load a register with a value interpolated between two numbers using an ease curve. Apply as a delta.


function easeDelta ( MOAIParticleScript self, number r0, number v0, number v1, number easeType )

Parameters
MOAIParticleScriptself
numberr0 Register to store result.
numberv0 Starting value of the ease.
numberv1 Ending value of the ease.
numbereaseType See MOAIEaseType for a list of ease types.
Returns
nil
mul

r0 = v0 * v1


function mul ( MOAIParticleScript self, number r0, number v0, number v1 )

Parameters
MOAIParticleScriptself
numberr0
numberv0
numberv1
Returns
nil
norm

r0 = v0 / |v|

r1 = v1 / |v|

Where |v| == sqrt(v0^2 + v1^2)


function norm ( MOAIParticleScript self, number r0, number r1, number v0, number v1 )

Parameters
MOAIParticleScriptself
numberr0
numberr1
numberv0
numberv1
Returns
nil
oscillate

r0 = v0 + ( sin ( v1 + ( age * v2 )) * v3 )


function oscillate ( MOAIParticleScript self, number r0, number v0 )

Parameters
MOAIParticleScriptself
numberr0
numberv0
Returns
nil
packConst

Pack a const value into a particle script param.


function packConst ( number const )

Parameters
numberconst Const value to pack.
Returns
number packed
packLiveReg

Pack a live register index into a particle script param.


function packLiveReg ( number regIdx )

Parameters
numberregIdx Register index to pack.
Returns
number packed
packReg

Pack a register index into a particle script param.


function packReg ( number regIdx )

Parameters
numberregIdx Register index to pack.
Returns
number packed
rand

Load a register with a random number from a range.


function rand ( MOAIParticleScript self, number r0, number v0, number v1 )

Parameters
MOAIParticleScriptself
numberr0 Register to store result.
numberv0 Range minimum.
numberv1 Range maximum.
Returns
nil
randInt

Load a register with a random integer from a range.


function randInt ( MOAIParticleScript self, number r0, number v0, number v1 )

Parameters
MOAIParticleScriptself
numberr0 Register to store result.
numberv0 Range minimum.
numberv1 Range maximum.
Returns
nil
randVec

Load two registers with the X and Y components of a vector with randomly chosen direction and length.


function randVec ( MOAIParticleScript self, number r0, number r1, number v0, number v1 )

Parameters
MOAIParticleScriptself
numberr0 Register to store result X.
numberr1 Register to store result Y.
numberv0 Minimum length of vector.
numberv1 Maximum length of vector.
Returns
nil
set

Load a value into a register.


function set ( MOAIParticleScript self, number r0, number v0 )

Parameters
MOAIParticleScriptself
numberr0 Register to store result.
numberv0 Value to load.
Returns
nil
setLiveReg

Load a value into a live register. Live registers can be updated by additional calls to setReg, which does not alter the compiled particle script. Live registers are a distinct register set from the normal register set; use load () to load live register data into registers in an initialize or render script.


function setLiveReg ( MOAIParticleScript self, number r0, number v0 )

Parameters
MOAIParticleScriptself
numberr0 Register to store result.
numberv0 Value to load.
Returns
nil
sin

r0 = sin(v0)


function sin ( MOAIParticleScript self, number r0, number v0 )

Parameters
MOAIParticleScriptself
numberr0
numberv0
Returns
nil
sprite

Push a new sprite for rendering. To render a particle, first call 'sprite' to create a new sprite at the particle's location. Then modify the sprite's registers to create animated effects based on the age of the particle (normalized to its term).


function sprite ( MOAIParticleScript self )

Parameters
MOAIParticleScriptself
Returns
nil
step

r0 = 0 if v0 < v1; 1 if v0 >= v1


function step ( MOAIParticleScript self, number r0, number v0, number v1 )

Parameters
MOAIParticleScriptself
numberr0
numberv0
numberv1
Returns
nil
sub

r0 = v0 - v1


function sub ( MOAIParticleScript self, number r0, number v0, number v1 )

Parameters
MOAIParticleScriptself
numberr0
numberv0
numberv1
Returns
nil
tan

r0 = tan(v0)


function tan ( MOAIParticleScript self, number r0, number v0 )

Parameters
MOAIParticleScriptself
numberr0
numberv0
Returns
nil
time

Load the normalized age of the particle into a register.


function time ( MOAIParticleScript self, number r0 )

Parameters
MOAIParticleScriptself
numberr0
Returns
nil
vecAngle

Compute angle (in degrees) between v0 and v1.


function vecAngle ( MOAIParticleScript self, number r0, number v0, number v1 )

Parameters
MOAIParticleScriptself
numberr0
numberv0
numberv1
Returns
nil
wrap

Wrap v0 between v1 and v2.


function wrap ( MOAIParticleScript self, number r0, number v0, number v1, number v2 )

Parameters
MOAIParticleScriptself
numberr0
numberv0
numberv1
numberv2
Returns
nil