:github_url: hide .. _class_Node2D: Node2D ====== **Hérite de :** :ref:`CanvasItem` **<** :ref:`Node` **<** :ref:`Object` **Hérité par :** :ref:`AnimatedSprite2D`, :ref:`AudioListener2D`, :ref:`AudioStreamPlayer2D`, :ref:`BackBufferCopy`, :ref:`Bone2D`, :ref:`Camera2D`, :ref:`CanvasGroup`, :ref:`CanvasModulate`, :ref:`CollisionObject2D`, :ref:`CollisionPolygon2D`, :ref:`CollisionShape2D`, :ref:`CPUParticles2D`, :ref:`GPUParticles2D`, :ref:`Joint2D`, :ref:`Light2D`, :ref:`LightOccluder2D`, :ref:`Line2D`, :ref:`Marker2D`, :ref:`MeshInstance2D`, :ref:`MultiMeshInstance2D`, :ref:`NavigationLink2D`, :ref:`NavigationObstacle2D`, :ref:`NavigationRegion2D`, :ref:`Parallax2D`, :ref:`ParallaxLayer`, :ref:`Path2D`, :ref:`PathFollow2D`, :ref:`Polygon2D`, :ref:`RayCast2D`, :ref:`RemoteTransform2D`, :ref:`ShapeCast2D`, :ref:`Skeleton2D`, :ref:`Sprite2D`, :ref:`TileMap`, :ref:`TileMapLayer`, :ref:`TouchScreenButton`, :ref:`VisibleOnScreenNotifier2D` Un objet de jeu 2D, hérité par tous les nœuds relatifs à la 2D. A une position, une rotation, une échelle et un cisaillement. .. rst-class:: classref-introduction-group Description ----------- Un objet de jeu 2D, avec une transformation (position, rotation et échelle). Tous les nœuds 2D, y compris les objets physiques et les sprites, héritent de Node2D. Utilisez Node2D comme nœud parent pour déplacer, mettre à l'échelle et pivoter des enfants dans un projet 2D. Donne également le contrôle sur l'ordre de rendu des nœuds. \ **Note :** Comme **Node2D** et :ref:`Control` héritent de :ref:`CanvasItem`, ils partagent plusieurs concepts de la classe tels que les propriétés :ref:`CanvasItem.z_index` et :ref:`CanvasItem.visible`. .. rst-class:: classref-introduction-group Tutoriels ------------------ - :doc:`Dessin personnalisé en 2D <../tutorials/2d/custom_drawing_in_2d>` - `Toutes les démos 2D `__ .. rst-class:: classref-reftable-group Propriétés -------------------- .. table:: :widths: auto +---------------------------------------+-------------------------------------------------------------------------------+-------------------+ | :ref:`Vector2` | :ref:`global_position` | | +---------------------------------------+-------------------------------------------------------------------------------+-------------------+ | :ref:`float` | :ref:`global_rotation` | | +---------------------------------------+-------------------------------------------------------------------------------+-------------------+ | :ref:`float` | :ref:`global_rotation_degrees` | | +---------------------------------------+-------------------------------------------------------------------------------+-------------------+ | :ref:`Vector2` | :ref:`global_scale` | | +---------------------------------------+-------------------------------------------------------------------------------+-------------------+ | :ref:`float` | :ref:`global_skew` | | +---------------------------------------+-------------------------------------------------------------------------------+-------------------+ | :ref:`Transform2D` | :ref:`global_transform` | | +---------------------------------------+-------------------------------------------------------------------------------+-------------------+ | :ref:`Vector2` | :ref:`position` | ``Vector2(0, 0)`` | +---------------------------------------+-------------------------------------------------------------------------------+-------------------+ | :ref:`float` | :ref:`rotation` | ``0.0`` | +---------------------------------------+-------------------------------------------------------------------------------+-------------------+ | :ref:`float` | :ref:`rotation_degrees` | | +---------------------------------------+-------------------------------------------------------------------------------+-------------------+ | :ref:`Vector2` | :ref:`scale` | ``Vector2(1, 1)`` | +---------------------------------------+-------------------------------------------------------------------------------+-------------------+ | :ref:`float` | :ref:`skew` | ``0.0`` | +---------------------------------------+-------------------------------------------------------------------------------+-------------------+ | :ref:`Transform2D` | :ref:`transform` | | +---------------------------------------+-------------------------------------------------------------------------------+-------------------+ .. rst-class:: classref-reftable-group Méthodes ---------------- .. table:: :widths: auto +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`apply_scale`\ (\ ratio\: :ref:`Vector2`\ ) | +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_angle_to`\ (\ point\: :ref:`Vector2`\ ) |const| | +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Transform2D` | :ref:`get_relative_transform_to_parent`\ (\ parent\: :ref:`Node`\ ) |const| | +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`global_translate`\ (\ offset\: :ref:`Vector2`\ ) | +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`look_at`\ (\ point\: :ref:`Vector2`\ ) | +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`move_local_x`\ (\ delta\: :ref:`float`, scaled\: :ref:`bool` = false\ ) | +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`move_local_y`\ (\ delta\: :ref:`float`, scaled\: :ref:`bool` = false\ ) | +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`rotate`\ (\ radians\: :ref:`float`\ ) | +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`to_global`\ (\ local_point\: :ref:`Vector2`\ ) |const| | +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`to_local`\ (\ global_point\: :ref:`Vector2`\ ) |const| | +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`translate`\ (\ offset\: :ref:`Vector2`\ ) | +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Descriptions des propriétés ------------------------------------------------------ .. _class_Node2D_property_global_position: .. rst-class:: classref-property :ref:`Vector2` **global_position** :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_global_position**\ (\ value\: :ref:`Vector2`\ ) - :ref:`Vector2` **get_global_position**\ (\ ) Position globale. Voir aussi :ref:`position`. .. rst-class:: classref-item-separator ---- .. _class_Node2D_property_global_rotation: .. rst-class:: classref-property :ref:`float` **global_rotation** :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_global_rotation**\ (\ value\: :ref:`float`\ ) - :ref:`float` **get_global_rotation**\ (\ ) Rotation globale en radians. Voir aussi :ref:`rotation`. .. rst-class:: classref-item-separator ---- .. _class_Node2D_property_global_rotation_degrees: .. rst-class:: classref-property :ref:`float` **global_rotation_degrees** :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_global_rotation_degrees**\ (\ value\: :ref:`float`\ ) - :ref:`float` **get_global_rotation_degrees**\ (\ ) Propriété d'aide pour accéder à :ref:`global_rotation` en degrés au lieu de radians. Voir aussi :ref:`rotation_degrees`. .. rst-class:: classref-item-separator ---- .. _class_Node2D_property_global_scale: .. rst-class:: classref-property :ref:`Vector2` **global_scale** :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_global_scale**\ (\ value\: :ref:`Vector2`\ ) - :ref:`Vector2` **get_global_scale**\ (\ ) Échelle globale. Voir aussi :ref:`scale`. .. rst-class:: classref-item-separator ---- .. _class_Node2D_property_global_skew: .. rst-class:: classref-property :ref:`float` **global_skew** :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_global_skew**\ (\ value\: :ref:`float`\ ) - :ref:`float` **get_global_skew**\ (\ ) Cisaillement global en radians. Voir aussi :ref:`skew`. .. rst-class:: classref-item-separator ---- .. _class_Node2D_property_global_transform: .. rst-class:: classref-property :ref:`Transform2D` **global_transform** :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_global_transform**\ (\ value\: :ref:`Transform2D`\ ) - :ref:`Transform2D` **get_global_transform**\ (\ ) :ref:`Transform2D` globale. Voir aussi :ref:`transform`. .. rst-class:: classref-item-separator ---- .. _class_Node2D_property_position: .. rst-class:: classref-property :ref:`Vector2` **position** = ``Vector2(0, 0)`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_position**\ (\ value\: :ref:`Vector2`\ ) - :ref:`Vector2` **get_position**\ (\ ) La position, relative au parent du nœud. Voir aussi :ref:`global_position`. .. rst-class:: classref-item-separator ---- .. _class_Node2D_property_rotation: .. rst-class:: classref-property :ref:`float` **rotation** = ``0.0`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_rotation**\ (\ value\: :ref:`float`\ ) - :ref:`float` **get_rotation**\ (\ ) Rotation en radians, par rapport au parent du nœud. Voir aussi :ref:`global_rotation`. \ **Note :** Cette propriété est modifiée en degrés dans l'inspecteur. Si vous voulez utiliser des degrés dans un script, utilisez :ref:`rotation_degrees`. .. rst-class:: classref-item-separator ---- .. _class_Node2D_property_rotation_degrees: .. rst-class:: classref-property :ref:`float` **rotation_degrees** :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_rotation_degrees**\ (\ value\: :ref:`float`\ ) - :ref:`float` **get_rotation_degrees**\ (\ ) Propriété d'aide pour accéder à :ref:`rotation` en degrés au lieu de radians. Voir aussi :ref:`global_rotation_degrees`. .. rst-class:: classref-item-separator ---- .. _class_Node2D_property_scale: .. rst-class:: classref-property :ref:`Vector2` **scale** = ``Vector2(1, 1)`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_scale**\ (\ value\: :ref:`Vector2`\ ) - :ref:`Vector2` **get_scale**\ (\ ) L'échelle du nœud, relative au parent du nœud. Valeur sans échelle : ``(1, 1)``. Voir aussi :ref:`global_scale`. \ **Note :** Les échelles X négatives en 2D ne sont pas décomposables de la matrice de transformation. En raison de la façon dont l'échelle est représentée avec des matrices de transformation dans Godot, les échelles négatives sur l'axe X seront changées en échelles négatives sur l'axe Y et une rotation de 180 degrés lors de la décomposition. .. rst-class:: classref-item-separator ---- .. _class_Node2D_property_skew: .. rst-class:: classref-property :ref:`float` **skew** = ``0.0`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_skew**\ (\ value\: :ref:`float`\ ) - :ref:`float` **get_skew**\ (\ ) S'il s'agit d'une valeur non nulle, incline le nœud dans une direction ou une autre. Cela peut être utilisé pour des effets de pseudo-3D. Voir aussi :ref:`global_skew`. \ **Note :** Le cisaillement est effectué sur l'axe X seulement, et *entre* la rotation et la mise à l'échelle. \ **Note :** Cette propriété est modifiée en degrés par l'inspecteur. Si vous voulez utiliser des degrés dans un script, utilisez ``skew = deg_to_rad(value_in_degrees)``. .. rst-class:: classref-item-separator ---- .. _class_Node2D_property_transform: .. rst-class:: classref-property :ref:`Transform2D` **transform** :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_transform**\ (\ value\: :ref:`Transform2D`\ ) - :ref:`Transform2D` **get_transform**\ (\ ) La :ref:`Transform2D` du nœud, par rapport au parent du nœud. Voir aussi :ref:`global_transform`. .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Descriptions des méthodes -------------------------------------------------- .. _class_Node2D_method_apply_scale: .. rst-class:: classref-method |void| **apply_scale**\ (\ ratio\: :ref:`Vector2`\ ) :ref:`🔗` Multiplie l'échelle actuelle par le vecteur ``ratio``. .. rst-class:: classref-item-separator ---- .. _class_Node2D_method_get_angle_to: .. rst-class:: classref-method :ref:`float` **get_angle_to**\ (\ point\: :ref:`Vector2`\ ) |const| :ref:`🔗` Renvoie l'angle entre le nœud et le ``point`` en radians. \ `Illustration de l'angle renvoyé. `__ .. rst-class:: classref-item-separator ---- .. _class_Node2D_method_get_relative_transform_to_parent: .. rst-class:: classref-method :ref:`Transform2D` **get_relative_transform_to_parent**\ (\ parent\: :ref:`Node`\ ) |const| :ref:`🔗` Renvoie la :ref:`Transform2D` relative au parent de ce nœud. .. rst-class:: classref-item-separator ---- .. _class_Node2D_method_global_translate: .. rst-class:: classref-method |void| **global_translate**\ (\ offset\: :ref:`Vector2`\ ) :ref:`🔗` Ajoute le vecteur de décalage ``offset`` à la position globale du nœud. .. rst-class:: classref-item-separator ---- .. _class_Node2D_method_look_at: .. rst-class:: classref-method |void| **look_at**\ (\ point\: :ref:`Vector2`\ ) :ref:`🔗` Tourne le nœud de sorte que son axe local +X pointe vers le ``point``, qui devrait utiliser les coordonnées globales. \ ``point`` ne devrait pas être identique à la position du nœud , sinon le nœud regarderait toujours vers la droite. .. rst-class:: classref-item-separator ---- .. _class_Node2D_method_move_local_x: .. rst-class:: classref-method |void| **move_local_x**\ (\ delta\: :ref:`float`, scaled\: :ref:`bool` = false\ ) :ref:`🔗` Applies a local translation on the node's X axis with the amount specified in ``delta``. If ``scaled`` is ``false``, normalizes the movement to occur independently of the node's :ref:`scale`. .. rst-class:: classref-item-separator ---- .. _class_Node2D_method_move_local_y: .. rst-class:: classref-method |void| **move_local_y**\ (\ delta\: :ref:`float`, scaled\: :ref:`bool` = false\ ) :ref:`🔗` Applies a local translation on the node's Y axis with the amount specified in ``delta``. If ``scaled`` is ``false``, normalizes the movement to occur independently of the node's :ref:`scale`. .. rst-class:: classref-item-separator ---- .. _class_Node2D_method_rotate: .. rst-class:: classref-method |void| **rotate**\ (\ radians\: :ref:`float`\ ) :ref:`🔗` Applique une rotation au nœud, en radians, à partir de son actuelle rotation. .. rst-class:: classref-item-separator ---- .. _class_Node2D_method_to_global: .. rst-class:: classref-method :ref:`Vector2` **to_global**\ (\ local_point\: :ref:`Vector2`\ ) |const| :ref:`🔗` Transforme la position locale fournie en position dans l'espace de coordonnées global. L'entrée devrait être locale par rapport au **Node2D** sur lequel elle est appelée. Par ex., l'application de cette méthode aux positions des nœuds enfants transformera correctement leurs positions dans l'espace de coordonnées global, mais l'appliquer sur la propre position du nœud donnera un résultat incorrect, car elle intégrera la propre transformation du nœud dans sa position globale. .. rst-class:: classref-item-separator ---- .. _class_Node2D_method_to_local: .. rst-class:: classref-method :ref:`Vector2` **to_local**\ (\ global_point\: :ref:`Vector2`\ ) |const| :ref:`🔗` Transforme la position globale fournie en position dans l'espace de coordonnées local. La sortie sera locale par rapport au **Node2D** sur lequel elle est appelée. Cela signifie qu'elle est appropriée pour déterminer la position des nœuds enfants, mais non appropriée pour déterminer la propre position du nœud par rapport à son parent. .. rst-class:: classref-item-separator ---- .. _class_Node2D_method_translate: .. rst-class:: classref-method |void| **translate**\ (\ offset\: :ref:`Vector2`\ ) :ref:`🔗` Translate le nœud par le décalage ``offset`` dans les coordonnées locales. .. |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.)`