Provides an interface to a physics mover / character controller.
Constructors and accessors
Related sample code
Other related reference items
actor_colliding_down ( self ) : stingray.ActorReturns the actor, if any, that the mover is standing upon.
|
self : | Specifies the object instance that this function will act on. You must always provide this self parameter when you call this function. You must use the dot . calling syntax, not the object-oriented colon : calling syntax.For more information, see this Stingray help topic, or this page in the Lua documentation. |
The actor that was last collided with in the downward direction. |
collides_down ( self ) : booleanIndicates whether or not the Mover is colliding in the downward direction: i.e. whether the surface it is hitting is a walkable surface.
|
self : | Specifies the object instance that this function will act on. You must always provide this self parameter when you call this function. You must use the dot . calling syntax, not the object-oriented colon : calling syntax.For more information, see this Stingray help topic, or this page in the Lua documentation. |
boolean |
Returns true if the mover collides in the downward direction, or false otherwise. |
collides_sides ( self ) : booleanIndicates whether or not the Mover is colliding horizontally: i.e. its side, front or rear orientation is colliding with another object.
|
self : | Specifies the object instance that this function will act on. You must always provide this self parameter when you call this function. You must use the dot . calling syntax, not the object-oriented colon : calling syntax.For more information, see this Stingray help topic, or this page in the Lua documentation. |
boolean |
Returns true if the mover collides in a horizontal direction, or false otherwise. |
collides_up ( self ) : booleanIndicates whether or not the Mover is colliding in the upward direction: i.e. it is hitting its head on a surface.
|
self : | Specifies the object instance that this function will act on. You must always provide this self parameter when you call this function. You must use the dot . calling syntax, not the object-oriented colon : calling syntax.For more information, see this Stingray help topic, or this page in the Lua documentation. |
boolean |
Returns true if the mover collides in the upward direction, or false otherwise. |
flying_frames ( self ) : integerReturns the number of frames the mover has been flying: i.e. not colliding downward with any walkable surface.
|
self : | Specifies the object instance that this function will act on. You must always provide this self parameter when you call this function. You must use the dot . calling syntax, not the object-oriented colon : calling syntax.For more information, see this Stingray help topic, or this page in the Lua documentation. |
integer |
The number of frames the mover has been flying. |
This function returns 1 for the first frame the mover is flying.
standing_frames ( self ) : integerReturns the number of frames the mover has been "standing" on a surface.
|
self : | Specifies the object instance that this function will act on. You must always provide this self parameter when you call this function. You must use the dot . calling syntax, not the object-oriented colon : calling syntax.For more information, see this Stingray help topic, or this page in the Lua documentation. |
integer |
The number of frames the mover has been standing. |
The mover is considered to be "standing" if it is colliding downward with a walkable surface: a surface whose slope is less than the maximum slope value set for the Mover.
This function returns 1 for the first frame the mover is standing.
max_slope_angle ( self ) : numberReturns the maximum slope angle that the mover can walk on.
|
self : | Specifies the object instance that this function will act on. You must always provide this self parameter when you call this function. You must use the dot . calling syntax, not the object-oriented colon : calling syntax.For more information, see this Stingray help topic, or this page in the Lua documentation. |
number |
The maximum slope angle set for the mover, in radians. |
set_collision_filter ( self, filter )Changes the collision filter used by the mover.
|
self : | Specifies the object instance that this function will act on. You must always provide this self parameter when you call this function. You must use the dot . calling syntax, not the object-oriented colon : calling syntax.For more information, see this Stingray help topic, or this page in the Lua documentation. | |
filter : | string | The new collision filter to set for the mover. |
This function does not return any values. |
set_max_slope_angle ( self, slope )Sets the maximum slope angle that the mover can walk on.
|
self : | Specifies the object instance that this function will act on. You must always provide this self parameter when you call this function. You must use the dot . calling syntax, not the object-oriented colon : calling syntax.For more information, see this Stingray help topic, or this page in the Lua documentation. | |
slope : | number | The new maximum slope angle to set for the mover, in radians. |
This function does not return any values. |
fits_at ( self, position, allow_move ) : boolean, stingray.Vector3?Indicates whether or not the mover fits at the specified position without colliding with any world geometry.
|
self : | Specifies the object instance that this function will act on. You must always provide this self parameter when you call this function. You must use the dot . calling syntax, not the object-oriented colon : calling syntax.For more information, see this Stingray help topic, or this page in the Lua documentation. | |
position : | The position to place the mover. | |
allow_move : | number? | If non-zero, specifies the distance to search for a non-colliding position. The ? notation indicates that this type is optional: there may be zero or one instances of it. |
boolean |
Returns true if the mover fits at the position, or false otherwise. |
If a non-colliding position was found, it is returned as the second paramter. The ? notation indicates that this type is optional: there may be zero or one instances of it. |
move ( self, offset, delta_time )Attempts to move the mover by the specified position.
|
self : | Specifies the object instance that this function will act on. You must always provide this self parameter when you call this function. You must use the dot . calling syntax, not the object-oriented colon : calling syntax.For more information, see this Stingray help topic, or this page in the Lua documentation. | |
offset : | The vector along which the mover slides. | |
delta_time : | number | The delta time in seconds. Used to resolve interactions with kinematic platforms. |
This function does not return any values. |
The mover will slide against physical objects.
Other related reference items
position ( self ) : stingray.Vector3Returns the current position of the mover.
|
self : | Specifies the object instance that this function will act on. You must always provide this self parameter when you call this function. You must use the dot . calling syntax, not the object-oriented colon : calling syntax.For more information, see this Stingray help topic, or this page in the Lua documentation. |
The position of the mover. |
radius ( self ) : numberReturns the outer radius of the mover.
|
self : | Specifies the object instance that this function will act on. You must always provide this self parameter when you call this function. You must use the dot . calling syntax, not the object-oriented colon : calling syntax.For more information, see this Stingray help topic, or this page in the Lua documentation. |
number |
The radius of the mover. |
separate ( self, allow_move ) : boolean, stingray.Actor?, stingray.Vector3?, stingray.Vector3?Tries to separate the mover from any colliding geometry and returns the result.
|
self : | Specifies the object instance that this function will act on. You must always provide this self parameter when you call this function. You must use the dot . calling syntax, not the object-oriented colon : calling syntax.For more information, see this Stingray help topic, or this page in the Lua documentation. | |
allow_move : | number? | If non-zero, specifies the distance to search for a non-colliding position. The ? notation indicates that this type is optional: there may be zero or one instances of it. |
boolean |
True if the mover is colliding in the start position. |
The actor that the mover is colliding with in the start position. The ? notation indicates that this type is optional: there may be zero or one instances of it. | |
If the collision can be resolved by moving the mover a distance below allow_move, this is the distance the mover needs to move to resolve the collision. The ? notation indicates that this type is optional: there may be zero or one instances of it. | |
If the collision can be resolved by moving the mover, this is the mover's final position. The ? notation indicates that this type is optional: there may be zero or one instances of it. |
Note that this function will not actually move the mover, you need to call move() to do that.
set_position ( self, pos )Teleports the mover to the specified position.
|
self : | Specifies the object instance that this function will act on. You must always provide this self parameter when you call this function. You must use the dot . calling syntax, not the object-oriented colon : calling syntax.For more information, see this Stingray help topic, or this page in the Lua documentation. | |
pos : | The position to reach. |
This function does not return any values. |
self : | Specifies the object instance that this function will act on. You must always provide this self parameter when you call this function. You must use the dot . calling syntax, not the object-oriented colon : calling syntax.For more information, see this Stingray help topic, or this page in the Lua documentation. |
The Unit that owns the mover. |