diff options
Diffstat (limited to 'doc/classes/KinematicBody.xml')
-rw-r--r-- | doc/classes/KinematicBody.xml | 43 |
1 files changed, 30 insertions, 13 deletions
diff --git a/doc/classes/KinematicBody.xml b/doc/classes/KinematicBody.xml index e6d537b895..0c66319ae7 100644 --- a/doc/classes/KinematicBody.xml +++ b/doc/classes/KinematicBody.xml @@ -65,8 +65,11 @@ </argument> <argument index="1" name="infinite_inertia" type="bool" default="true"> </argument> + <argument index="2" name="test_only" type="bool" default="false"> + </argument> <description> Moves the body along the vector [code]rel_vec[/code]. The body will stop if it collides. Returns a [KinematicCollision], which contains information about the collision. + If [code]test_only[/code] is [code]true[/true], the body does not move but the would-be collision information is given. </description> </method> <method name="move_and_slide"> @@ -76,7 +79,7 @@ </argument> <argument index="1" name="floor_normal" type="Vector3" default="Vector3( 0, 0, 0 )"> </argument> - <argument index="2" name="slope_stop_min_velocity" type="float" default="0.05"> + <argument index="2" name="stop_on_slope" type="bool" default="false"> </argument> <argument index="3" name="max_slides" type="int" default="4"> </argument> @@ -88,12 +91,32 @@ Moves the body along a vector. If the body collides with another, it will slide along the other body rather than stop immediately. If the other body is a [code]KinematicBody[/code] or [RigidBody], it will also be affected by the motion of the other body. You can use this to make moving or rotating platforms, or to make nodes push other nodes. [code]linear_velocity[/code] is a value in pixels per second. Unlike in for example [method move_and_collide], you should [i]not[/i] multiply it with [code]delta[/code] — this is done by the method. [code]floor_normal[/code] is the up direction, used to determine what is a wall and what is a floor or a ceiling. If set to the default value of [code]Vector3(0, 0, 0)[/code], everything is considered a wall. This is useful for topdown games. - If the body is standing on a slope and the horizontal speed (relative to the floor's speed) goes below [code]slope_stop_min_velocity[/code], the body will stop completely. This prevents the body from sliding down slopes when you include gravity in [code]linear_velocity[/code]. When set to lower values, the body will not be able to stand still on steep slopes. + [i]TODO: Update for new stop_on_slode argument.[/i] If the body is standing on a slope and the horizontal speed (relative to the floor's speed) goes below [code]slope_stop_min_velocity[/code], the body will stop completely. This prevents the body from sliding down slopes when you include gravity in [code]linear_velocity[/code]. When set to lower values, the body will not be able to stand still on steep slopes. If the body collides, it will change direction a maximum of [code]max_slides[/code] times before it stops. [code]floor_max_angle[/code] is the maximum angle (in radians) where a slope is still considered a floor (or a ceiling), rather than a wall. The default value equals 45 degrees. Returns the movement that remained when the body stopped. To get more detailed information about collisions that occurred, use [method get_slide_collision]. </description> </method> + <method name="move_and_slide_with_snap"> + <return type="Vector3"> + </return> + <argument index="0" name="linear_velocity" type="Vector3"> + </argument> + <argument index="1" name="snap" type="Vector3"> + </argument> + <argument index="2" name="floor_normal" type="Vector3" default="Vector3( 0, 0, 0 )"> + </argument> + <argument index="3" name="infinite_inertia" type="bool" default="true"> + </argument> + <argument index="4" name="stop_on_slope" type="bool" default="false"> + </argument> + <argument index="5" name="max_bounces" type="int" default="4"> + </argument> + <argument index="6" name="floor_max_angle" type="float" default="0.785398"> + </argument> + <description> + </description> + </method> <method name="test_move"> <return type="bool"> </return> @@ -109,20 +132,14 @@ </method> </methods> <members> - <member name="axis_lock_angular_x" type="bool" setter="set_axis_lock" getter="get_axis_lock"> - </member> - <member name="axis_lock_angular_y" type="bool" setter="set_axis_lock" getter="get_axis_lock"> - </member> - <member name="axis_lock_angular_z" type="bool" setter="set_axis_lock" getter="get_axis_lock"> - </member> - <member name="axis_lock_linear_x" type="bool" setter="set_axis_lock" getter="get_axis_lock"> + <member name="collision/safe_margin" type="float" setter="set_safe_margin" getter="get_safe_margin"> + If the body is at least this close to another body, this body will consider them to be colliding. </member> - <member name="axis_lock_linear_y" type="bool" setter="set_axis_lock" getter="get_axis_lock"> + <member name="move_lock_x" type="bool" setter="set_axis_lock" getter="get_axis_lock"> </member> - <member name="axis_lock_linear_z" type="bool" setter="set_axis_lock" getter="get_axis_lock"> + <member name="move_lock_y" type="bool" setter="set_axis_lock" getter="get_axis_lock"> </member> - <member name="collision/safe_margin" type="float" setter="set_safe_margin" getter="get_safe_margin"> - If the body is at least this close to another body, this body will consider them to be colliding. + <member name="move_lock_z" type="bool" setter="set_axis_lock" getter="get_axis_lock"> </member> </members> <constants> |