Files
godot-docs-l10n/classes/fr/class_shape2d.rst
2025-12-19 14:34:07 +01:00

190 lines
14 KiB
ReStructuredText
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

:github_url: hide
.. _class_Shape2D:
Shape2D
=======
**Hérite de:** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
**Hérité par :** :ref:`CapsuleShape2D<class_CapsuleShape2D>`, :ref:`CircleShape2D<class_CircleShape2D>`, :ref:`ConcavePolygonShape2D<class_ConcavePolygonShape2D>`, :ref:`ConvexPolygonShape2D<class_ConvexPolygonShape2D>`, :ref:`RectangleShape2D<class_RectangleShape2D>`, :ref:`SegmentShape2D<class_SegmentShape2D>`, :ref:`SeparationRayShape2D<class_SeparationRayShape2D>`, :ref:`WorldBoundaryShape2D<class_WorldBoundaryShape2D>`
Classe de base abstraite pour les formes 2D utilisées pour les collisions physiques.
.. rst-class:: classref-introduction-group
Description
-----------
Classe de base abstraite pour toutes les formes 2D, destinée à être utilisée pour la physique.
\ **Performance :** Les formes primitives, en particulier :ref:`CircleShape2D<class_CircleShape2D>`, sont rapides pour vérifier les collisions. :ref:`ConvexPolygonShape2D<class_ConvexPolygonShape2D>` est plus lente, et :ref:`ConcavePolygonShape2D<class_ConcavePolygonShape2D>` est la plus lente.
.. rst-class:: classref-introduction-group
Tutoriels
------------------
- :doc:`Introduction à la physique <../tutorials/physics/physics_introduction>`
.. rst-class:: classref-reftable-group
Propriétés
--------------------
.. table::
:widths: auto
+---------------------------+----------------------------------------------------------------------+---------+
| :ref:`float<class_float>` | :ref:`custom_solver_bias<class_Shape2D_property_custom_solver_bias>` | ``0.0`` |
+---------------------------+----------------------------------------------------------------------+---------+
.. rst-class:: classref-reftable-group
Méthodes
----------------
.. table::
:widths: auto
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`collide<class_Shape2D_method_collide>`\ (\ local_xform\: :ref:`Transform2D<class_Transform2D>`, with_shape\: :ref:`Shape2D<class_Shape2D>`, shape_xform\: :ref:`Transform2D<class_Transform2D>`\ ) |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedVector2Array<class_PackedVector2Array>` | :ref:`collide_and_get_contacts<class_Shape2D_method_collide_and_get_contacts>`\ (\ local_xform\: :ref:`Transform2D<class_Transform2D>`, with_shape\: :ref:`Shape2D<class_Shape2D>`, shape_xform\: :ref:`Transform2D<class_Transform2D>`\ ) |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`collide_with_motion<class_Shape2D_method_collide_with_motion>`\ (\ local_xform\: :ref:`Transform2D<class_Transform2D>`, local_motion\: :ref:`Vector2<class_Vector2>`, with_shape\: :ref:`Shape2D<class_Shape2D>`, shape_xform\: :ref:`Transform2D<class_Transform2D>`, shape_motion\: :ref:`Vector2<class_Vector2>`\ ) |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedVector2Array<class_PackedVector2Array>` | :ref:`collide_with_motion_and_get_contacts<class_Shape2D_method_collide_with_motion_and_get_contacts>`\ (\ local_xform\: :ref:`Transform2D<class_Transform2D>`, local_motion\: :ref:`Vector2<class_Vector2>`, with_shape\: :ref:`Shape2D<class_Shape2D>`, shape_xform\: :ref:`Transform2D<class_Transform2D>`, shape_motion\: :ref:`Vector2<class_Vector2>`\ ) |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`draw<class_Shape2D_method_draw>`\ (\ canvas_item\: :ref:`RID<class_RID>`, color\: :ref:`Color<class_Color>`\ ) |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Rect2<class_Rect2>` | :ref:`get_rect<class_Shape2D_method_get_rect>`\ (\ ) |const| |
+-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Descriptions des propriétés
------------------------------------------------------
.. _class_Shape2D_property_custom_solver_bias:
.. rst-class:: classref-property
:ref:`float<class_float>` **custom_solver_bias** = ``0.0`` :ref:`🔗<class_Shape2D_property_custom_solver_bias>`
.. rst-class:: classref-property-setget
- |void| **set_custom_solver_bias**\ (\ value\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_custom_solver_bias**\ (\ )
Le biais personnalisé du solveur de la forme. Définit de combien les corps réagissent pour faire respecter la séparation des contacts lorsque cette forme est impliquée.
Lorsquil est défini à ``0``, la valeur par défaut de :ref:`ProjectSettings.physics/2d/solver/default_contact_bias<class_ProjectSettings_property_physics/2d/solver/default_contact_bias>` est utilisée.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Descriptions des méthodes
--------------------------------------------------
.. _class_Shape2D_method_collide:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **collide**\ (\ local_xform\: :ref:`Transform2D<class_Transform2D>`, with_shape\: :ref:`Shape2D<class_Shape2D>`, shape_xform\: :ref:`Transform2D<class_Transform2D>`\ ) :ref:`🔗<class_Shape2D_method_collide>`
Renvoie ``true`` si cette forme est en collision avec une autre.
Cette méthode a besoin de la matrice de transformation de cette forme (``local_xform``), de la forme avec laquelle vérifier les collisions (``with_shape``), et de la matrice de transformation de cette dernière (``shape_xform``).
.. rst-class:: classref-item-separator
----
.. _class_Shape2D_method_collide_and_get_contacts:
.. rst-class:: classref-method
:ref:`PackedVector2Array<class_PackedVector2Array>` **collide_and_get_contacts**\ (\ local_xform\: :ref:`Transform2D<class_Transform2D>`, with_shape\: :ref:`Shape2D<class_Shape2D>`, shape_xform\: :ref:`Transform2D<class_Transform2D>`\ ) :ref:`🔗<class_Shape2D_method_collide_and_get_contacts>`
Renvoie une liste de paires de points de contact où cette forme touche une autre.
S'il n'y a pas de collision, la liste renvoyée est vide. Sinon, la liste renvoyée contient des points de contact disposés en paires, avec des entrées alternant entre des points sur la limite de cette forme et des points sur la limite de ``with_shape``.
Une paire de collisions A, B peut être utilisée pour calculer la normale de la collision avec ``(B - A).normalized()``, et la profondeur de la collision avec ``(B - A).length()``. Cette information est généralement utilisée pour séparer les formes, en particulier dans les solveurs de collision.
Cette méthode a besoin de la matrice de transformation de cette forme (``local_xform``), de la forme avec laquelle vérifier les collisions (``with_shape``), et de la matrice de transformation de cette dernière (``shape_xform``).
.. rst-class:: classref-item-separator
----
.. _class_Shape2D_method_collide_with_motion:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **collide_with_motion**\ (\ local_xform\: :ref:`Transform2D<class_Transform2D>`, local_motion\: :ref:`Vector2<class_Vector2>`, with_shape\: :ref:`Shape2D<class_Shape2D>`, shape_xform\: :ref:`Transform2D<class_Transform2D>`, shape_motion\: :ref:`Vector2<class_Vector2>`\ ) :ref:`🔗<class_Shape2D_method_collide_with_motion>`
Renvoie si cette forme serait en collision avec une autre, si un mouvement donné serait appliqué.
Cette méthode a besoin de la matrice de transformation de cette forme (``local_xform``), du mouvement à tester sur cette forme (``local_motion``), de la forme avec laquelle vérifier les collisions (``with_shape``), la matrice de transformation de cette dernière (``shape_xform``), et du mouvement à tester sur l'autre objet (``shape_motion``).
.. rst-class:: classref-item-separator
----
.. _class_Shape2D_method_collide_with_motion_and_get_contacts:
.. rst-class:: classref-method
:ref:`PackedVector2Array<class_PackedVector2Array>` **collide_with_motion_and_get_contacts**\ (\ local_xform\: :ref:`Transform2D<class_Transform2D>`, local_motion\: :ref:`Vector2<class_Vector2>`, with_shape\: :ref:`Shape2D<class_Shape2D>`, shape_xform\: :ref:`Transform2D<class_Transform2D>`, shape_motion\: :ref:`Vector2<class_Vector2>`\ ) :ref:`🔗<class_Shape2D_method_collide_with_motion_and_get_contacts>`
Renvoie une liste de paires de points de contact où cette forme toucherait une autre, si un mouvement donné serait appliqué.
S'il n'y a pas de collision, la liste renvoyée est vide. Sinon, la liste renvoyée contient des points de contact disposés en paires, avec des entrées alternant entre des points sur la limite de cette forme et des points sur la limite de ``with_shape``.
Une paire de collisions A, B peut être utilisée pour calculer la normale de la collision avec ``(B - A).normalized()``, et la profondeur de la collision avec ``(B - A).length()``. Cette information est généralement utilisée pour séparer les formes, en particulier dans les solveurs de collision.
Cette méthode a besoin de la matrice de transformation de cette forme (``local_xform``), de la forme avec laquelle vérifier les collisions (``with_shape``), et de la matrice de transformation de cette dernière (``shape_xform``).
.. rst-class:: classref-item-separator
----
.. _class_Shape2D_method_draw:
.. rst-class:: classref-method
|void| **draw**\ (\ canvas_item\: :ref:`RID<class_RID>`, color\: :ref:`Color<class_Color>`\ ) :ref:`🔗<class_Shape2D_method_draw>`
Dessine une forme solide sur un :ref:`CanvasItem<class_CanvasItem>` avec l'API :ref:`RenderingServer<class_RenderingServer>`, remplie par la couleur ``color`` spécifiée. La méthode de dessin exacte est spécifique pour chaque forme et ne peut pas être configurée.
.. rst-class:: classref-item-separator
----
.. _class_Shape2D_method_get_rect:
.. rst-class:: classref-method
:ref:`Rect2<class_Rect2>` **get_rect**\ (\ ) |const| :ref:`🔗<class_Shape2D_method_get_rect>`
Renvoie un :ref:`Rect2<class_Rect2>` représentant la délimitation de la forme.
.. |virtual| replace:: :abbr:`virtual (Cette méthode doit typiquement être redéfinie par l'utilisateur pour avoir un effet.)`
.. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
.. |const| replace:: :abbr:`const (Cette méthode n'a pas d'effets de bord. Elle ne modifie aucune des variables membres de l'instance.)`
.. |vararg| replace:: :abbr:`vararg (Cette méthode accepte n'importe quel nombre d'arguments après ceux décris ici.)`
.. |constructor| replace:: :abbr:`constructor (Cette méthode est utilisée pour construire un type.)`
.. |static| replace:: :abbr:`static (Cette méthode n'a pas besoin d'instance pour être appelée, elle peut donc être directement appelée en utilisant le nom de la classe.)`
.. |operator| replace:: :abbr:`operator (Cette méthode décrit un opérateur valide à utiliser avec ce type en tant qu'opérande gauche.)`
.. |bitfield| replace:: :abbr:`BitField (Cette valeur est un nombre entier composé d'un masque de bits des options suivantes.)`
.. |void| replace:: :abbr:`void (Aucune valeur de retour.)`