Files
godot-docs/classes/class_physicsrayqueryparameters2d.rst
2022-09-09 15:22:52 +02:00

181 lines
8.8 KiB
ReStructuredText

:github_url: hide
.. DO NOT EDIT THIS FILE!!!
.. Generated automatically from Godot engine sources.
.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/PhysicsRayQueryParameters2D.xml.
.. _class_PhysicsRayQueryParameters2D:
PhysicsRayQueryParameters2D
===========================
**Inherits:** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
Parameters to be sent to a 2D ray physics query.
Description
-----------
This class contains the ray position and other parameters to be used for :ref:`PhysicsDirectSpaceState2D.intersect_ray<class_PhysicsDirectSpaceState2D_method_intersect_ray>`.
Properties
----------
+-------------------------------+--------------------------------------------------------------------------------------------+-------------------+
| :ref:`bool<class_bool>` | :ref:`collide_with_areas<class_PhysicsRayQueryParameters2D_property_collide_with_areas>` | ``false`` |
+-------------------------------+--------------------------------------------------------------------------------------------+-------------------+
| :ref:`bool<class_bool>` | :ref:`collide_with_bodies<class_PhysicsRayQueryParameters2D_property_collide_with_bodies>` | ``true`` |
+-------------------------------+--------------------------------------------------------------------------------------------+-------------------+
| :ref:`int<class_int>` | :ref:`collision_mask<class_PhysicsRayQueryParameters2D_property_collision_mask>` | ``4294967295`` |
+-------------------------------+--------------------------------------------------------------------------------------------+-------------------+
| :ref:`RID[]<class_RID>` | :ref:`exclude<class_PhysicsRayQueryParameters2D_property_exclude>` | ``[]`` |
+-------------------------------+--------------------------------------------------------------------------------------------+-------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`from<class_PhysicsRayQueryParameters2D_property_from>` | ``Vector2(0, 0)`` |
+-------------------------------+--------------------------------------------------------------------------------------------+-------------------+
| :ref:`bool<class_bool>` | :ref:`hit_from_inside<class_PhysicsRayQueryParameters2D_property_hit_from_inside>` | ``false`` |
+-------------------------------+--------------------------------------------------------------------------------------------+-------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`to<class_PhysicsRayQueryParameters2D_property_to>` | ``Vector2(0, 0)`` |
+-------------------------------+--------------------------------------------------------------------------------------------+-------------------+
Methods
-------
+-----------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PhysicsRayQueryParameters2D<class_PhysicsRayQueryParameters2D>` | :ref:`create<class_PhysicsRayQueryParameters2D_method_create>` **(** :ref:`Vector2<class_Vector2>` from, :ref:`Vector2<class_Vector2>` to, :ref:`int<class_int>` collision_mask=4294967295, :ref:`RID[]<class_RID>` exclude=[] **)** |static| |
+-----------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
Property Descriptions
---------------------
.. _class_PhysicsRayQueryParameters2D_property_collide_with_areas:
- :ref:`bool<class_bool>` **collide_with_areas**
+-----------+---------------------------------+
| *Default* | ``false`` |
+-----------+---------------------------------+
| *Setter* | set_collide_with_areas(value) |
+-----------+---------------------------------+
| *Getter* | is_collide_with_areas_enabled() |
+-----------+---------------------------------+
If ``true``, the query will take :ref:`Area2D<class_Area2D>`\ s into account.
----
.. _class_PhysicsRayQueryParameters2D_property_collide_with_bodies:
- :ref:`bool<class_bool>` **collide_with_bodies**
+-----------+----------------------------------+
| *Default* | ``true`` |
+-----------+----------------------------------+
| *Setter* | set_collide_with_bodies(value) |
+-----------+----------------------------------+
| *Getter* | is_collide_with_bodies_enabled() |
+-----------+----------------------------------+
If ``true``, the query will take :ref:`PhysicsBody2D<class_PhysicsBody2D>`\ s into account.
----
.. _class_PhysicsRayQueryParameters2D_property_collision_mask:
- :ref:`int<class_int>` **collision_mask**
+-----------+---------------------------+
| *Default* | ``4294967295`` |
+-----------+---------------------------+
| *Setter* | set_collision_mask(value) |
+-----------+---------------------------+
| *Getter* | get_collision_mask() |
+-----------+---------------------------+
The physics layers the query will detect (as a bitmask). By default, all collision layers are detected. See `Collision layers and masks <../tutorials/physics/physics_introduction.html#collision-layers-and-masks>`__ in the documentation for more information.
----
.. _class_PhysicsRayQueryParameters2D_property_exclude:
- :ref:`RID[]<class_RID>` **exclude**
+-----------+--------------------+
| *Default* | ``[]`` |
+-----------+--------------------+
| *Setter* | set_exclude(value) |
+-----------+--------------------+
| *Getter* | get_exclude() |
+-----------+--------------------+
The list of objects or object :ref:`RID<class_RID>`\ s that will be excluded from collisions.
----
.. _class_PhysicsRayQueryParameters2D_property_from:
- :ref:`Vector2<class_Vector2>` **from**
+-----------+-------------------+
| *Default* | ``Vector2(0, 0)`` |
+-----------+-------------------+
| *Setter* | set_from(value) |
+-----------+-------------------+
| *Getter* | get_from() |
+-----------+-------------------+
The starting point of the ray being queried for, in global coordinates.
----
.. _class_PhysicsRayQueryParameters2D_property_hit_from_inside:
- :ref:`bool<class_bool>` **hit_from_inside**
+-----------+------------------------------+
| *Default* | ``false`` |
+-----------+------------------------------+
| *Setter* | set_hit_from_inside(value) |
+-----------+------------------------------+
| *Getter* | is_hit_from_inside_enabled() |
+-----------+------------------------------+
If ``true``, the query will detect a hit when starting inside shapes. In this case the collision normal will be ``Vector2(0, 0)``. Does not affect concave polygon shapes.
----
.. _class_PhysicsRayQueryParameters2D_property_to:
- :ref:`Vector2<class_Vector2>` **to**
+-----------+-------------------+
| *Default* | ``Vector2(0, 0)`` |
+-----------+-------------------+
| *Setter* | set_to(value) |
+-----------+-------------------+
| *Getter* | get_to() |
+-----------+-------------------+
The ending point of the ray being queried for, in global coordinates.
Method Descriptions
-------------------
.. _class_PhysicsRayQueryParameters2D_method_create:
- :ref:`PhysicsRayQueryParameters2D<class_PhysicsRayQueryParameters2D>` **create** **(** :ref:`Vector2<class_Vector2>` from, :ref:`Vector2<class_Vector2>` to, :ref:`int<class_int>` collision_mask=4294967295, :ref:`RID[]<class_RID>` exclude=[] **)** |static|
Returns a new, pre-configured ``PhysicsRayQueryParameters2D`` object. Use it to quickly create query parameters using the most common options.
::
var query = PhysicsRayQueryParameters2D.create(global_position, global_position + Vector2(0, 100))
var collision = get_world_2d().direct_space_state.intersect_ray(query)
.. |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.)`