CollisionHandlerGravity¶
from acron.core import CollisionHandlerGravity
- class CollisionHandlerGravity¶
Bases:
Bases:
CollisionHandlerPhysicalA specialized kind of
CollisionHandlerthat sets the Z height of the collider to a fixed linear offset from the highest detected collision point each frame. It’s intended to implement walking around on a floor of varying height by casting a ray down from the avatar’s head.Inheritance diagram
digraph inheritance93f56622ed { bgcolor=transparent; rankdir=BT; size="8.0, 12.0"; "CollisionHandler" [URL="acron.core.CollisionHandler.html#acron.core.CollisionHandler",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="/**"]; "TypedReferenceCount" -> "CollisionHandler" [arrowsize=0.75,style=""]; "CollisionHandlerEvent" [URL="acron.core.CollisionHandlerEvent.html#acron.core.CollisionHandlerEvent",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="/**"]; "CollisionHandler" -> "CollisionHandlerEvent" [arrowsize=0.75,style=""]; "CollisionHandlerGravity" [URL="acron.core.CollisionHandlerGravity.html#acron.core.CollisionHandlerGravity",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="/**"]; "CollisionHandlerPhysical" -> "CollisionHandlerGravity" [arrowsize=0.75,style=""]; "CollisionHandlerPhysical" [URL="acron.core.CollisionHandlerPhysical.html#acron.core.CollisionHandlerPhysical",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="/**"]; "CollisionHandlerEvent" -> "CollisionHandlerPhysical" [arrowsize=0.75,style=""]; "DTOOL_SUPER_BASE" [fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style=""]; "ReferenceCount" [URL="acron.core.ReferenceCount.html#acron.core.ReferenceCount",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="/**"]; "DTOOL_SUPER_BASE" -> "ReferenceCount" [arrowsize=0.75,style=""]; "TypedObject" [URL="acron.core.TypedObject.html#acron.core.TypedObject",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="/**"]; "DTOOL_SUPER_BASE" -> "TypedObject" [arrowsize=0.75,style=""]; "TypedReferenceCount" [URL="acron.core.TypedReferenceCount.html#acron.core.TypedReferenceCount",fillcolor=white,fontname="Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans",fontsize=11,height=0.25,shape=box,style="",target="_top",tooltip="/**"]; "TypedObject" -> "TypedReferenceCount" [arrowsize=0.75,style=""]; "ReferenceCount" -> "TypedReferenceCount" [arrowsize=0.75,style=""]; }- __init__()¶
- add_velocity()¶
Adds the sepcified amount to the current velocity. This is mostly here allow this common operation to be faster for scripting, but it’s also more concise even in cpp.
- property airborne_height float¶
Return the height of the object from the ground.
The object might not necessarily be at rest. Use
is_on_ground()if you want to know whether the object is on the ground and at rest.
- get_airborne_height()¶
Return the height of the object from the ground.
The object might not necessarily be at rest. Use
is_on_ground()if you want to know whether the object is on the ground and at rest.
- static get_class_type()¶
- get_contact_normal()¶
- get_gravity()¶
Gets the linear gravity force (always plumb).
- get_impact_velocity()¶
How hard did the object hit the ground. This value is set on impact with the ground. You may want to watch (poll) on
is_on_ground()and when that is true, call get_impact_velocity(). Normally I avoid polling, but we are callingis_on_ground()frequently anyway.
- get_legacy_mode()¶
returns true if legacy mode is enabled
- get_max_velocity()¶
Retrieves the maximum speed at which the object will be allowed to descend towards a floor below it, in units per second. See
set_max_velocity().
- get_offset()¶
Returns the linear offset to add to (or subtract from) the highest detected collision point to determine the actual height at which to set the collider.
- get_reach()¶
Returns the reach to add to (or subtract from) the highest collision point
- get_velocity()¶
Gets the current vertical velocity.
Generally, negative values mean the object is in free fall; while postive values mean the object has vertical thrust.
A zero value does not necessarily mean the object on the ground, it may also be weightless and/or at the apex of its jump.
See Also:
is_on_ground()andget_gravity()
- property impact_velocity float¶
How hard did the object hit the ground. This value is set on impact with the ground. You may want to watch (poll) on
is_on_ground()and when that is true, callget_impact_velocity(). Normally I avoid polling, but we are callingis_on_ground()frequently anyway.
- is_on_ground()¶
Is the object at rest?
- property max_velocity float¶
- Getter
Retrieves the maximum speed at which the object will be allowed to descend towards a floor below it, in units per second. See
set_max_velocity().- Setter
Sets the maximum speed at which the object will be allowed to descend towards a floor below it, in units per second. Set this to zero to allow it to instantly teleport any distance.
- property offset float¶
Returns/Sets the linear offset to add to (or subtract from) the highest detected collision point to determine the actual height at which to set the collider.
- property reach float¶
Returns/Sets the reach to add to (or subtract from) the highest collision point
- set_gravity()¶
Sets the linear gravity force (always plumb).
- set_legacy_mode()¶
Enables old behavior required by Toontown (Sellbot Factory lava room is good test case, lava and conveyor belt specifically). Behavior is to throw enter/exit events only for floor that the toon is in contact with
- set_max_velocity()¶
Sets the maximum speed at which the object will be allowed to descend towards a floor below it, in units per second. Set this to zero to allow it to instantly teleport any distance.
- set_offset()¶
Sets the linear offset to add to (or subtract from) the highest detected collision point to determine the actual height at which to set the collider.
- set_reach()¶
Sets the reach to add to (or subtract from) the highest collision point
- set_velocity()¶
Sets the current vertical velocity.
- property velocity float¶
- Getter
Gets the current vertical velocity.
Generally, negative values mean the object is in free fall; while postive values mean the object has vertical thrust.
A zero value does not necessarily mean the object on the ground, it may also be weightless and/or at the apex of its jump.
See Also:
is_on_ground()andget_gravity()- Setter
Sets the current vertical velocity.