Particle

Particle

Particle Object - Created automatically by Particle Emitters

Constructor

# new Particle(position, tileIndexopt, tileSizeopt, angleopt)

Create a particle with the given settings
Parameters:
Name Type Attributes Default Description
position Vector2 World space position of the particle
tileIndex Number <optional>
-1 Tile to use to render, untextured if -1
tileSize Vector2 <optional>
tileSizeDefault Size of tile in source pixels
angle Number <optional>
0 Angle to rotate the particle

Extends

Members

# additiveColor

Properties
Type Description
Color Additive color to apply when rendered

# angle

Properties
Type Description
Number Angle to rotate the object
Overrides:

# angleDamping

Properties
Name Type Attributes Default Description
angleDamping Number <optional>
objectDefaultAngleDamping How much to slow down rotation each frame (0-1)

# angleVelocity

Properties
Name Type Attributes Default Description
angleVelocity Number <optional>
0 Angular velocity of the object

# color

Properties
Type Description
Color Color to apply when rendered
Overrides:

# damping

Properties
Name Type Attributes Default Description
damping Number <optional>
objectDefaultDamping How much to slow down velocity each frame (0-1)

# drawSize

Properties
Type Description
Vector2 Size of object used for drawing, uses size if not set

# elasticity

Properties
Name Type Attributes Default Description
elasticity Number <optional>
objectDefaultElasticity How bouncy the object is when colliding (0-1)

# friction

Properties
Name Type Attributes Default Description
friction Number <optional>
objectDefaultFriction How much friction to apply when sliding (0-1)

# gravityScale

Properties
Name Type Attributes Default Description
gravityScale Number <optional>
1 How much to scale gravity by for this object

# mass

Properties
Name Type Attributes Default Description
mass Number <optional>
objectDefaultMass How heavy the object is
Overrides:

# pos

Properties
Type Description
Vector2 World space position of the object
Overrides:

# renderOrder

Properties
Name Type Attributes Default Description
renderOrder Number <optional>
0 Objects are sorted by render order

# size

Properties
Type Description
Vector2 World space width and height of the object
Overrides:

# tileIndex

Properties
Type Description
Number Tile to use to render object, untextured if -1

# tileSize

Properties
Type Description
Vector2 Size of tile in source pixels

# velocity

Properties
Name Type Attributes Default Description
velocity Vector2 <optional>
new Vector2() Velocity of the object

Methods

# addChild(child, localPosopt, localAngleopt)

Attaches a child to this with a given local transform
Parameters:
Name Type Attributes Default Description
child EngineObject
localPos Vector2 <optional>
new Vector2
localAngle Number <optional>
0

# applyAcceleration(acceleration)

Apply acceleration to this object (adjust velocity, not affected by mass)
Parameters:
Name Type Description
acceleration Vector2

# applyForce(force)

Apply force to this object (adjust velocity, affected by mass)
Parameters:
Name Type Description
force Vector2

# collideWithObject(object) → {Boolean}

Called to check if a tile raycast hit
Parameters:
Name Type Description
object EngineObject the object to test against
Returns:
- true if the collision should be resolved
Type
Boolean

# collideWithTile(tileData, pos) → {Boolean}

Called to check if a tile collision should be resolved
Parameters:
Name Type Description
tileData Number the value of the tile at the position
pos Vector2 tile where the collision occured
Returns:
- true if the collision should be resolved
Type
Boolean

# collideWithTileRaycast(tileData, pos) → {Boolean}

Called to check if a tile raycast hit
Parameters:
Name Type Description
tileData Number the value of the tile at the position
pos Vector2 tile where the raycast is
Returns:
- true if the raycast should hit
Type
Boolean

# destroy()

Destroy this object, destroy it's children, detach it's parent, and mark it for removal

# getAliveTime() → {Number}

How long since the object was created
Returns:
Type
Number

# getMirrorSign() → {Number}

Get the direction of the mirror
Returns:
-1 if this.mirror is true, or 1 if not mirrored
Type
Number

# removeChild(child)

Removes a child from this one
Parameters:
Name Type Description
child EngineObject

# render()

Render the particle, automatically called each frame, sorted by renderOrder
Overrides:

# setCollision(collideSolidObjectsopt, isSolidopt, collideTilesopt)

Set how this object collides
Parameters:
Name Type Attributes Default Description
collideSolidObjects boolean <optional>
0 Does it collide with solid objects
isSolid boolean <optional>
0 Does it collide with and block other objects (expensive in large numbers)
collideTiles boolean <optional>
1 Does it collide with the tile collision

# update()

Update the object transform and physics, called automatically by engine once each frame
Overrides: