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

166 lines
13 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_PhysicsBody2D:
PhysicsBody2D
=============
**Hérite de:** :ref:`CollisionObject2D<class_CollisionObject2D>` **<** :ref:`Node2D<class_Node2D>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
**Hérité par :** :ref:`CharacterBody2D<class_CharacterBody2D>`, :ref:`RigidBody2D<class_RigidBody2D>`, :ref:`StaticBody2D<class_StaticBody2D>`
Classe de base abstraite pour les objets du jeu 2D affectés par la physique.
.. rst-class:: classref-introduction-group
Description
-----------
**PhysicsBody2D** est une classe de base abstraite pour les objets du jeu 2D affectés par la physique. Tous les corps physiques 2D héritent de lui.
.. rst-class:: classref-introduction-group
Tutoriels
------------------
- :doc:`Introduction à la physique <../tutorials/physics/physics_introduction>`
- :doc:`Dépanner des problèmes de physique <../tutorials/physics/troubleshooting_physics_issues>`
.. rst-class:: classref-reftable-group
Propriétés
--------------------
.. table::
:widths: auto
+-------------------------+----------------+-------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | input_pickable | ``false`` (overrides :ref:`CollisionObject2D<class_CollisionObject2D_property_input_pickable>`) |
+-------------------------+----------------+-------------------------------------------------------------------------------------------------+
.. rst-class:: classref-reftable-group
Méthodes
----------------
.. table::
:widths: auto
+------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`add_collision_exception_with<class_PhysicsBody2D_method_add_collision_exception_with>`\ (\ body\: :ref:`Node<class_Node>`\ ) |
+------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Array<class_Array>`\[:ref:`PhysicsBody2D<class_PhysicsBody2D>`\] | :ref:`get_collision_exceptions<class_PhysicsBody2D_method_get_collision_exceptions>`\ (\ ) |
+------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`get_gravity<class_PhysicsBody2D_method_get_gravity>`\ (\ ) |const| |
+------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`KinematicCollision2D<class_KinematicCollision2D>` | :ref:`move_and_collide<class_PhysicsBody2D_method_move_and_collide>`\ (\ motion\: :ref:`Vector2<class_Vector2>`, test_only\: :ref:`bool<class_bool>` = false, safe_margin\: :ref:`float<class_float>` = 0.08, recovery_as_collision\: :ref:`bool<class_bool>` = false\ ) |
+------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`remove_collision_exception_with<class_PhysicsBody2D_method_remove_collision_exception_with>`\ (\ body\: :ref:`Node<class_Node>`\ ) |
+------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`test_move<class_PhysicsBody2D_method_test_move>`\ (\ from\: :ref:`Transform2D<class_Transform2D>`, motion\: :ref:`Vector2<class_Vector2>`, collision\: :ref:`KinematicCollision2D<class_KinematicCollision2D>` = null, safe_margin\: :ref:`float<class_float>` = 0.08, recovery_as_collision\: :ref:`bool<class_bool>` = false\ ) |
+------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Descriptions des méthodes
--------------------------------------------------
.. _class_PhysicsBody2D_method_add_collision_exception_with:
.. rst-class:: classref-method
|void| **add_collision_exception_with**\ (\ body\: :ref:`Node<class_Node>`\ ) :ref:`🔗<class_PhysicsBody2D_method_add_collision_exception_with>`
Ajoute un corps à la liste des corps avec lesquels ce corps ne peut entrer en collision.
.. rst-class:: classref-item-separator
----
.. _class_PhysicsBody2D_method_get_collision_exceptions:
.. rst-class:: classref-method
:ref:`Array<class_Array>`\[:ref:`PhysicsBody2D<class_PhysicsBody2D>`\] **get_collision_exceptions**\ (\ ) :ref:`🔗<class_PhysicsBody2D_method_get_collision_exceptions>`
Renvoie un tableau de nœuds qui ont été ajoutés comme exceptions de collision pour ce corps.
.. rst-class:: classref-item-separator
----
.. _class_PhysicsBody2D_method_get_gravity:
.. rst-class:: classref-method
:ref:`Vector2<class_Vector2>` **get_gravity**\ (\ ) |const| :ref:`🔗<class_PhysicsBody2D_method_get_gravity>`
Renvoie le vecteur de gravité calculé à partir de toutes les sources qui peuvent affecter le corps, y compris toutes les redéfinitions de gravité des nœuds :ref:`Area2D<class_Area2D>` et la gravité du monde globale.
.. rst-class:: classref-item-separator
----
.. _class_PhysicsBody2D_method_move_and_collide:
.. rst-class:: classref-method
:ref:`KinematicCollision2D<class_KinematicCollision2D>` **move_and_collide**\ (\ motion\: :ref:`Vector2<class_Vector2>`, test_only\: :ref:`bool<class_bool>` = false, safe_margin\: :ref:`float<class_float>` = 0.08, recovery_as_collision\: :ref:`bool<class_bool>` = false\ ) :ref:`🔗<class_PhysicsBody2D_method_move_and_collide>`
Déplace le corps le long du vecteur de mouvement ``motion``. Afin d'être indépendant du taux de rafraichissement dans :ref:`Node._physics_process()<class_Node_private_method__physics_process>` ou :ref:`Node._process()<class_Node_private_method__process>`, ``motion`` doit être calculé en utilisant ``delta``.
Renvoie un :ref:`KinematicCollision2D<class_KinematicCollision2D>`, qui contient des informations sur la collision lorsque le corps est arrêté, ou lorsqu'il touche un autre corps durant le mouvement.
Si ``test_only`` vaut ``true``, le corps ne se déplace pas, mais les informations de collision potentielles sont données.
\ ``safe_margin`` est la marge supplémentaire utilisée pour le redressement de collision (voir :ref:`CharacterBody2D.safe_margin<class_CharacterBody2D_property_safe_margin>` pour plus de détails).
Si ``recovery_as_collision`` vaut ``true``, toute dépénétration de la phase de redressement est également signalée comme une collision, c'est utilisé par ex. par :ref:`CharacterBody2D<class_CharacterBody2D>` pour améliorer la détection du sol lors de laimantation au sol.
.. rst-class:: classref-item-separator
----
.. _class_PhysicsBody2D_method_remove_collision_exception_with:
.. rst-class:: classref-method
|void| **remove_collision_exception_with**\ (\ body\: :ref:`Node<class_Node>`\ ) :ref:`🔗<class_PhysicsBody2D_method_remove_collision_exception_with>`
Retire un corps de la liste des corps avec lesquels ce corps ne peut entrer en collision.
.. rst-class:: classref-item-separator
----
.. _class_PhysicsBody2D_method_test_move:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **test_move**\ (\ from\: :ref:`Transform2D<class_Transform2D>`, motion\: :ref:`Vector2<class_Vector2>`, collision\: :ref:`KinematicCollision2D<class_KinematicCollision2D>` = null, safe_margin\: :ref:`float<class_float>` = 0.08, recovery_as_collision\: :ref:`bool<class_bool>` = false\ ) :ref:`🔗<class_PhysicsBody2D_method_test_move>`
Vérifie les collisions sans déplacer le corps. Afin d'être indépendant du taux de rafraichissement dans :ref:`Node._physics_process()<class_Node_private_method__physics_process>` ou :ref:`Node._process()<class_Node_private_method__process>`, ``motion`` devrait être calculé en utilisant ``delta``.
Définit virtuellement la position, l'échelle et la rotation du nœud à celle de la :ref:`Transform2D<class_Transform2D>` donnée, puis tente de déplacer le corps le long du vecteur ``motion``. Renvoie ``true`` si une collision empêcherait le corps de se déplacer sur tout le chemin.
\ ``collision`` est un objet optionnel de type :ref:`KinematicCollision2D<class_KinematicCollision2D>`, qui contient des informations supplémentaires sur la collision lorsqu'il est arrêté, ou lorsqu'il touche un autre corps le long du mouvement.
\ ``safe_margin`` est la marge supplémentaire utilisée pour le redressement de collision (voir :ref:`CharacterBody2D.safe_margin<class_CharacterBody2D_property_safe_margin>` pour plus de détails).
Si ``recovery_as_collision`` est ``true``, toute dépénétration lors de la phase de redressement est également signalée comme une collision, cela est utile pour vérifier si le corps *toucherait* n'importe quel autre corps.
.. |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.)`