:github_url: hide .. Generated automatically by doc/tools/make_rst.py in Godot's source tree. .. DO NOT EDIT THIS FILE, but the StaticBody2D.xml source instead. .. The source is found in doc/classes or modules//doc_classes. .. _class_StaticBody2D: StaticBody2D ============ **Inherits:** :ref:`PhysicsBody2D` **<** :ref:`CollisionObject2D` **<** :ref:`Node2D` **<** :ref:`CanvasItem` **<** :ref:`Node` **<** :ref:`Object` **Inherited By:** :ref:`AnimatableBody2D` Physics body for 2D physics which is static or moves only by script. Useful for floor and walls. Description ----------- Static body for 2D physics. A static body is a simple body that can't be moved by external forces or contacts. It is ideal for implementing objects in the environment, such as walls or platforms. In contrast to :ref:`RigidDynamicBody2D`, it doesn't consume any CPU resources as long as they don't move. They have extra functionalities to move and affect other bodies: \ **Static transform change:** Static bodies can be moved by animation or script. In this case, they are just teleported and don't affect other bodies on their path. \ **Constant velocity:** When :ref:`constant_linear_velocity` or :ref:`constant_angular_velocity` is set, static bodies don't move themselves but affect touching bodies as if they were moving. This is useful for simulating conveyor belts or conveyor wheels. Properties ---------- +-----------------------------------------------+-----------------------------------------------------------------------------------------+-------------------+ | :ref:`float` | :ref:`constant_angular_velocity` | ``0.0`` | +-----------------------------------------------+-----------------------------------------------------------------------------------------+-------------------+ | :ref:`Vector2` | :ref:`constant_linear_velocity` | ``Vector2(0, 0)`` | +-----------------------------------------------+-----------------------------------------------------------------------------------------+-------------------+ | :ref:`PhysicsMaterial` | :ref:`physics_material_override` | | +-----------------------------------------------+-----------------------------------------------------------------------------------------+-------------------+ Property Descriptions --------------------- .. _class_StaticBody2D_property_constant_angular_velocity: - :ref:`float` **constant_angular_velocity** +-----------+--------------------------------------+ | *Default* | ``0.0`` | +-----------+--------------------------------------+ | *Setter* | set_constant_angular_velocity(value) | +-----------+--------------------------------------+ | *Getter* | get_constant_angular_velocity() | +-----------+--------------------------------------+ The body's constant angular velocity. This does not rotate the body, but affects touching bodies, as if it were rotating. ---- .. _class_StaticBody2D_property_constant_linear_velocity: - :ref:`Vector2` **constant_linear_velocity** +-----------+-------------------------------------+ | *Default* | ``Vector2(0, 0)`` | +-----------+-------------------------------------+ | *Setter* | set_constant_linear_velocity(value) | +-----------+-------------------------------------+ | *Getter* | get_constant_linear_velocity() | +-----------+-------------------------------------+ The body's constant linear velocity. This does not move the body, but affects touching bodies, as if it were moving. ---- .. _class_StaticBody2D_property_physics_material_override: - :ref:`PhysicsMaterial` **physics_material_override** +----------+--------------------------------------+ | *Setter* | set_physics_material_override(value) | +----------+--------------------------------------+ | *Getter* | get_physics_material_override() | +----------+--------------------------------------+ The physics material override for the body. If a material is assigned to this property, it will be used instead of any other physics material, such as an inherited one. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)` .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)` .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)` .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`