mirror of
https://github.com/godotengine/godot-docs-l10n.git
synced 2025-12-31 09:49:22 +03:00
1697 lines
101 KiB
ReStructuredText
1697 lines
101 KiB
ReStructuredText
:github_url: hide
|
||
|
||
.. _class_GraphEdit:
|
||
|
||
GraphEdit
|
||
=========
|
||
|
||
**Экспериментальное:** This class may be changed or removed in future versions.
|
||
|
||
**Наследует:** :ref:`Control<class_Control>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
|
||
|
||
Редактор графоподобных структур, использующий :ref:`GraphNode<class_GraphNode>`.
|
||
|
||
.. rst-class:: classref-introduction-group
|
||
|
||
Описание
|
||
----------------
|
||
|
||
**GraphEdit** предоставляет инструменты для создания, обработки и отображения различных графиков. Его основная цель в движке — питание систем визуального программирования, таких как визуальные шейдеры, но он также доступен для использования в пользовательских проектах.
|
||
|
||
\ **GraphEdit** сам по себе является лишь пустым контейнером, представляющим бесконечную сетку, в которой могут быть размещены :ref:`GraphNode<class_GraphNode>`. Каждый :ref:`GraphNode<class_GraphNode>` представляет собой узел в графике, отдельную единицу данных в связанной схеме. **GraphEdit**, в свою очередь, помогает контролировать различные взаимодействия с узлами и между узлами. Когда пользователь пытается подключить, отключить или удалить :ref:`GraphNode<class_GraphNode>`, в **GraphEdit** выдается сигнал, но по умолчанию никаких действий не выполняется. Программист, использующий этот элемент управления, несет ответственность за реализацию необходимой логики для определения того, как должен обрабатываться каждый запрос.
|
||
|
||
\ **Производительность:** Настоятельно рекомендуется включить режим низкого использования процессора (см. :ref:`OS.low_processor_usage_mode<class_OS_property_low_processor_usage_mode>`) при использовании GraphEdits.
|
||
|
||
\ **Примечание:** Имейте в виду, что :ref:`Node.get_children()<class_Node_method_get_children>` также вернет узел уровня соединения с именем ``_connection_layer`` из-за технических ограничений. Это поведение может измениться в будущих выпусках.
|
||
|
||
.. rst-class:: classref-reftable-group
|
||
|
||
Свойства
|
||
----------------
|
||
|
||
.. table::
|
||
:widths: auto
|
||
|
||
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | clip_contents | ``true`` (overrides :ref:`Control<class_Control_property_clip_contents>`) |
|
||
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`connection_lines_antialiased<class_GraphEdit_property_connection_lines_antialiased>` | ``true`` |
|
||
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
|
||
| :ref:`float<class_float>` | :ref:`connection_lines_curvature<class_GraphEdit_property_connection_lines_curvature>` | ``0.5`` |
|
||
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
|
||
| :ref:`float<class_float>` | :ref:`connection_lines_thickness<class_GraphEdit_property_connection_lines_thickness>` | ``4.0`` |
|
||
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
|
||
| :ref:`Array<class_Array>`\[:ref:`Dictionary<class_Dictionary>`\] | :ref:`connections<class_GraphEdit_property_connections>` | ``[]`` |
|
||
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
|
||
| :ref:`FocusMode<enum_Control_FocusMode>` | focus_mode | ``2`` (overrides :ref:`Control<class_Control_property_focus_mode>`) |
|
||
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
|
||
| :ref:`GridPattern<enum_GraphEdit_GridPattern>` | :ref:`grid_pattern<class_GraphEdit_property_grid_pattern>` | ``0`` |
|
||
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`minimap_enabled<class_GraphEdit_property_minimap_enabled>` | ``true`` |
|
||
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
|
||
| :ref:`float<class_float>` | :ref:`minimap_opacity<class_GraphEdit_property_minimap_opacity>` | ``0.65`` |
|
||
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
|
||
| :ref:`Vector2<class_Vector2>` | :ref:`minimap_size<class_GraphEdit_property_minimap_size>` | ``Vector2(240, 160)`` |
|
||
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
|
||
| :ref:`PanningScheme<enum_GraphEdit_PanningScheme>` | :ref:`panning_scheme<class_GraphEdit_property_panning_scheme>` | ``0`` |
|
||
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`right_disconnects<class_GraphEdit_property_right_disconnects>` | ``false`` |
|
||
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
|
||
| :ref:`Vector2<class_Vector2>` | :ref:`scroll_offset<class_GraphEdit_property_scroll_offset>` | ``Vector2(0, 0)`` |
|
||
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`show_arrange_button<class_GraphEdit_property_show_arrange_button>` | ``true`` |
|
||
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`show_grid<class_GraphEdit_property_show_grid>` | ``true`` |
|
||
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`show_grid_buttons<class_GraphEdit_property_show_grid_buttons>` | ``true`` |
|
||
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`show_menu<class_GraphEdit_property_show_menu>` | ``true`` |
|
||
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`show_minimap_button<class_GraphEdit_property_show_minimap_button>` | ``true`` |
|
||
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`show_zoom_buttons<class_GraphEdit_property_show_zoom_buttons>` | ``true`` |
|
||
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`show_zoom_label<class_GraphEdit_property_show_zoom_label>` | ``false`` |
|
||
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
|
||
| :ref:`int<class_int>` | :ref:`snapping_distance<class_GraphEdit_property_snapping_distance>` | ``20`` |
|
||
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`snapping_enabled<class_GraphEdit_property_snapping_enabled>` | ``true`` |
|
||
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
|
||
| :ref:`Dictionary<class_Dictionary>` | :ref:`type_names<class_GraphEdit_property_type_names>` | ``{}`` |
|
||
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
|
||
| :ref:`float<class_float>` | :ref:`zoom<class_GraphEdit_property_zoom>` | ``1.0`` |
|
||
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
|
||
| :ref:`float<class_float>` | :ref:`zoom_max<class_GraphEdit_property_zoom_max>` | ``2.0736003`` |
|
||
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
|
||
| :ref:`float<class_float>` | :ref:`zoom_min<class_GraphEdit_property_zoom_min>` | ``0.23256795`` |
|
||
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
|
||
| :ref:`float<class_float>` | :ref:`zoom_step<class_GraphEdit_property_zoom_step>` | ``1.2`` |
|
||
+------------------------------------------------------------------+--------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+
|
||
|
||
.. rst-class:: classref-reftable-group
|
||
|
||
Методы
|
||
------------
|
||
|
||
.. table::
|
||
:widths: auto
|
||
|
||
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`PackedVector2Array<class_PackedVector2Array>` | :ref:`_get_connection_line<class_GraphEdit_private_method__get_connection_line>`\ (\ from_position\: :ref:`Vector2<class_Vector2>`, to_position\: :ref:`Vector2<class_Vector2>`\ ) |virtual| |const| |
|
||
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`_is_in_input_hotzone<class_GraphEdit_private_method__is_in_input_hotzone>`\ (\ in_node\: :ref:`Object<class_Object>`, in_port\: :ref:`int<class_int>`, mouse_position\: :ref:`Vector2<class_Vector2>`\ ) |virtual| |
|
||
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`_is_in_output_hotzone<class_GraphEdit_private_method__is_in_output_hotzone>`\ (\ in_node\: :ref:`Object<class_Object>`, in_port\: :ref:`int<class_int>`, mouse_position\: :ref:`Vector2<class_Vector2>`\ ) |virtual| |
|
||
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`_is_node_hover_valid<class_GraphEdit_private_method__is_node_hover_valid>`\ (\ from_node\: :ref:`StringName<class_StringName>`, from_port\: :ref:`int<class_int>`, to_node\: :ref:`StringName<class_StringName>`, to_port\: :ref:`int<class_int>`\ ) |virtual| |
|
||
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`add_valid_connection_type<class_GraphEdit_method_add_valid_connection_type>`\ (\ from_type\: :ref:`int<class_int>`, to_type\: :ref:`int<class_int>`\ ) |
|
||
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`add_valid_left_disconnect_type<class_GraphEdit_method_add_valid_left_disconnect_type>`\ (\ type\: :ref:`int<class_int>`\ ) |
|
||
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`add_valid_right_disconnect_type<class_GraphEdit_method_add_valid_right_disconnect_type>`\ (\ type\: :ref:`int<class_int>`\ ) |
|
||
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`arrange_nodes<class_GraphEdit_method_arrange_nodes>`\ (\ ) |
|
||
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`attach_graph_element_to_frame<class_GraphEdit_method_attach_graph_element_to_frame>`\ (\ element\: :ref:`StringName<class_StringName>`, frame\: :ref:`StringName<class_StringName>`\ ) |
|
||
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`clear_connections<class_GraphEdit_method_clear_connections>`\ (\ ) |
|
||
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Error<enum_@GlobalScope_Error>` | :ref:`connect_node<class_GraphEdit_method_connect_node>`\ (\ from_node\: :ref:`StringName<class_StringName>`, from_port\: :ref:`int<class_int>`, to_node\: :ref:`StringName<class_StringName>`, to_port\: :ref:`int<class_int>`, keep_alive\: :ref:`bool<class_bool>` = false\ ) |
|
||
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`detach_graph_element_from_frame<class_GraphEdit_method_detach_graph_element_from_frame>`\ (\ element\: :ref:`StringName<class_StringName>`\ ) |
|
||
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`disconnect_node<class_GraphEdit_method_disconnect_node>`\ (\ from_node\: :ref:`StringName<class_StringName>`, from_port\: :ref:`int<class_int>`, to_node\: :ref:`StringName<class_StringName>`, to_port\: :ref:`int<class_int>`\ ) |
|
||
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`force_connection_drag_end<class_GraphEdit_method_force_connection_drag_end>`\ (\ ) |
|
||
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Array<class_Array>`\[:ref:`StringName<class_StringName>`\] | :ref:`get_attached_nodes_of_frame<class_GraphEdit_method_get_attached_nodes_of_frame>`\ (\ frame\: :ref:`StringName<class_StringName>`\ ) |
|
||
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Dictionary<class_Dictionary>` | :ref:`get_closest_connection_at_point<class_GraphEdit_method_get_closest_connection_at_point>`\ (\ point\: :ref:`Vector2<class_Vector2>`, max_distance\: :ref:`float<class_float>` = 4.0\ ) |const| |
|
||
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`int<class_int>` | :ref:`get_connection_count<class_GraphEdit_method_get_connection_count>`\ (\ from_node\: :ref:`StringName<class_StringName>`, from_port\: :ref:`int<class_int>`\ ) |
|
||
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`PackedVector2Array<class_PackedVector2Array>` | :ref:`get_connection_line<class_GraphEdit_method_get_connection_line>`\ (\ from_node\: :ref:`Vector2<class_Vector2>`, to_node\: :ref:`Vector2<class_Vector2>`\ ) |const| |
|
||
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Array<class_Array>`\[:ref:`Dictionary<class_Dictionary>`\] | :ref:`get_connection_list_from_node<class_GraphEdit_method_get_connection_list_from_node>`\ (\ node\: :ref:`StringName<class_StringName>`\ ) |const| |
|
||
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`Array<class_Array>`\[:ref:`Dictionary<class_Dictionary>`\] | :ref:`get_connections_intersecting_with_rect<class_GraphEdit_method_get_connections_intersecting_with_rect>`\ (\ rect\: :ref:`Rect2<class_Rect2>`\ ) |const| |
|
||
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`GraphFrame<class_GraphFrame>` | :ref:`get_element_frame<class_GraphEdit_method_get_element_frame>`\ (\ element\: :ref:`StringName<class_StringName>`\ ) |
|
||
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`HBoxContainer<class_HBoxContainer>` | :ref:`get_menu_hbox<class_GraphEdit_method_get_menu_hbox>`\ (\ ) |
|
||
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`is_node_connected<class_GraphEdit_method_is_node_connected>`\ (\ from_node\: :ref:`StringName<class_StringName>`, from_port\: :ref:`int<class_int>`, to_node\: :ref:`StringName<class_StringName>`, to_port\: :ref:`int<class_int>`\ ) |
|
||
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`is_valid_connection_type<class_GraphEdit_method_is_valid_connection_type>`\ (\ from_type\: :ref:`int<class_int>`, to_type\: :ref:`int<class_int>`\ ) |const| |
|
||
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`remove_valid_connection_type<class_GraphEdit_method_remove_valid_connection_type>`\ (\ from_type\: :ref:`int<class_int>`, to_type\: :ref:`int<class_int>`\ ) |
|
||
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`remove_valid_left_disconnect_type<class_GraphEdit_method_remove_valid_left_disconnect_type>`\ (\ type\: :ref:`int<class_int>`\ ) |
|
||
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`remove_valid_right_disconnect_type<class_GraphEdit_method_remove_valid_right_disconnect_type>`\ (\ type\: :ref:`int<class_int>`\ ) |
|
||
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`set_connection_activity<class_GraphEdit_method_set_connection_activity>`\ (\ from_node\: :ref:`StringName<class_StringName>`, from_port\: :ref:`int<class_int>`, to_node\: :ref:`StringName<class_StringName>`, to_port\: :ref:`int<class_int>`, amount\: :ref:`float<class_float>`\ ) |
|
||
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
| |void| | :ref:`set_selected<class_GraphEdit_method_set_selected>`\ (\ node\: :ref:`Node<class_Node>`\ ) |
|
||
+------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
||
|
||
.. rst-class:: classref-reftable-group
|
||
|
||
Свойства темы
|
||
--------------------------
|
||
|
||
.. table::
|
||
:widths: auto
|
||
|
||
+-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`Color<class_Color>` | :ref:`activity<class_GraphEdit_theme_color_activity>` | ``Color(1, 1, 1, 1)`` |
|
||
+-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`Color<class_Color>` | :ref:`connection_hover_tint_color<class_GraphEdit_theme_color_connection_hover_tint_color>` | ``Color(0, 0, 0, 0.3)`` |
|
||
+-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`Color<class_Color>` | :ref:`connection_rim_color<class_GraphEdit_theme_color_connection_rim_color>` | ``Color(0.1, 0.1, 0.1, 0.6)`` |
|
||
+-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`Color<class_Color>` | :ref:`connection_valid_target_tint_color<class_GraphEdit_theme_color_connection_valid_target_tint_color>` | ``Color(1, 1, 1, 0.4)`` |
|
||
+-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`Color<class_Color>` | :ref:`grid_major<class_GraphEdit_theme_color_grid_major>` | ``Color(1, 1, 1, 0.2)`` |
|
||
+-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`Color<class_Color>` | :ref:`grid_minor<class_GraphEdit_theme_color_grid_minor>` | ``Color(1, 1, 1, 0.05)`` |
|
||
+-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`Color<class_Color>` | :ref:`selection_fill<class_GraphEdit_theme_color_selection_fill>` | ``Color(1, 1, 1, 0.3)`` |
|
||
+-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`Color<class_Color>` | :ref:`selection_stroke<class_GraphEdit_theme_color_selection_stroke>` | ``Color(1, 1, 1, 0.8)`` |
|
||
+-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`int<class_int>` | :ref:`connection_hover_thickness<class_GraphEdit_theme_constant_connection_hover_thickness>` | ``0`` |
|
||
+-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`int<class_int>` | :ref:`port_hotzone_inner_extent<class_GraphEdit_theme_constant_port_hotzone_inner_extent>` | ``22`` |
|
||
+-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`int<class_int>` | :ref:`port_hotzone_outer_extent<class_GraphEdit_theme_constant_port_hotzone_outer_extent>` | ``26`` |
|
||
+-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`Texture2D<class_Texture2D>` | :ref:`grid_toggle<class_GraphEdit_theme_icon_grid_toggle>` | |
|
||
+-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`Texture2D<class_Texture2D>` | :ref:`layout<class_GraphEdit_theme_icon_layout>` | |
|
||
+-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`Texture2D<class_Texture2D>` | :ref:`minimap_toggle<class_GraphEdit_theme_icon_minimap_toggle>` | |
|
||
+-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`Texture2D<class_Texture2D>` | :ref:`snapping_toggle<class_GraphEdit_theme_icon_snapping_toggle>` | |
|
||
+-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`Texture2D<class_Texture2D>` | :ref:`zoom_in<class_GraphEdit_theme_icon_zoom_in>` | |
|
||
+-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`Texture2D<class_Texture2D>` | :ref:`zoom_out<class_GraphEdit_theme_icon_zoom_out>` | |
|
||
+-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`Texture2D<class_Texture2D>` | :ref:`zoom_reset<class_GraphEdit_theme_icon_zoom_reset>` | |
|
||
+-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`StyleBox<class_StyleBox>` | :ref:`menu_panel<class_GraphEdit_theme_style_menu_panel>` | |
|
||
+-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`StyleBox<class_StyleBox>` | :ref:`panel<class_GraphEdit_theme_style_panel>` | |
|
||
+-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
|
||
| :ref:`StyleBox<class_StyleBox>` | :ref:`panel_focus<class_GraphEdit_theme_style_panel_focus>` | |
|
||
+-----------------------------------+-----------------------------------------------------------------------------------------------------------+-------------------------------+
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
Сигналы
|
||
--------------
|
||
|
||
.. _class_GraphEdit_signal_begin_node_move:
|
||
|
||
.. rst-class:: classref-signal
|
||
|
||
**begin_node_move**\ (\ ) :ref:`🔗<class_GraphEdit_signal_begin_node_move>`
|
||
|
||
Вызывается в начале движения :ref:`GraphElement<class_GraphElement>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_signal_connection_drag_ended:
|
||
|
||
.. rst-class:: classref-signal
|
||
|
||
**connection_drag_ended**\ (\ ) :ref:`🔗<class_GraphEdit_signal_connection_drag_ended>`
|
||
|
||
Выдается в конце перетаскивания соединения.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_signal_connection_drag_started:
|
||
|
||
.. rst-class:: classref-signal
|
||
|
||
**connection_drag_started**\ (\ from_node\: :ref:`StringName<class_StringName>`, from_port\: :ref:`int<class_int>`, is_output\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_GraphEdit_signal_connection_drag_started>`
|
||
|
||
Выдается в начале перетаскивания соединения.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_signal_connection_from_empty:
|
||
|
||
.. rst-class:: classref-signal
|
||
|
||
**connection_from_empty**\ (\ to_node\: :ref:`StringName<class_StringName>`, to_port\: :ref:`int<class_int>`, release_position\: :ref:`Vector2<class_Vector2>`\ ) :ref:`🔗<class_GraphEdit_signal_connection_from_empty>`
|
||
|
||
Вызывается, когда пользователь перетаскивает соединение из входного порта в пустое пространство графика.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_signal_connection_request:
|
||
|
||
.. rst-class:: classref-signal
|
||
|
||
**connection_request**\ (\ from_node\: :ref:`StringName<class_StringName>`, from_port\: :ref:`int<class_int>`, to_node\: :ref:`StringName<class_StringName>`, to_port\: :ref:`int<class_int>`\ ) :ref:`🔗<class_GraphEdit_signal_connection_request>`
|
||
|
||
Отправляется в GraphEdit при попытке создания соединения между ``from_port`` ``from_node`` :ref:`GraphNode<class_GraphNode>` и ``to_port`` ``to_node`` :ref:`GraphNode<class_GraphNode>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_signal_connection_to_empty:
|
||
|
||
.. rst-class:: classref-signal
|
||
|
||
**connection_to_empty**\ (\ from_node\: :ref:`StringName<class_StringName>`, from_port\: :ref:`int<class_int>`, release_position\: :ref:`Vector2<class_Vector2>`\ ) :ref:`🔗<class_GraphEdit_signal_connection_to_empty>`
|
||
|
||
Вызывается, когда пользователь перетаскивает соединение из выходного порта в пустое пространство графика.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_signal_copy_nodes_request:
|
||
|
||
.. rst-class:: classref-signal
|
||
|
||
**copy_nodes_request**\ (\ ) :ref:`🔗<class_GraphEdit_signal_copy_nodes_request>`
|
||
|
||
Выдается, когда этот **GraphEdit** захватывает действие ``ui_copy`` (:kbd:`Ctrl + C` по умолчанию). В общем случае этот сигнал указывает на то, что выбранные :ref:`GraphElement<class_GraphElement>` должны быть скопированы.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_signal_cut_nodes_request:
|
||
|
||
.. rst-class:: classref-signal
|
||
|
||
**cut_nodes_request**\ (\ ) :ref:`🔗<class_GraphEdit_signal_cut_nodes_request>`
|
||
|
||
Выдается, когда этот **GraphEdit** захватывает действие ``ui_cut`` (:kbd:`Ctrl + X` по умолчанию). В общем случае этот сигнал указывает на то, что выбранные :ref:`GraphElement<class_GraphElement>`-ы должны быть вырезаны.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_signal_delete_nodes_request:
|
||
|
||
.. rst-class:: classref-signal
|
||
|
||
**delete_nodes_request**\ (\ nodes\: :ref:`Array<class_Array>`\[:ref:`StringName<class_StringName>`\]\ ) :ref:`🔗<class_GraphEdit_signal_delete_nodes_request>`
|
||
|
||
Выдается, когда этот **GraphEdit** захватывает действие ``ui_graph_delete`` (:kbd:`Delete` по умолчанию).
|
||
|
||
\ ``nodes`` — это массив имен узлов, которые следует удалить. Обычно они включают все выбранные узлы.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_signal_disconnection_request:
|
||
|
||
.. rst-class:: classref-signal
|
||
|
||
**disconnection_request**\ (\ from_node\: :ref:`StringName<class_StringName>`, from_port\: :ref:`int<class_int>`, to_node\: :ref:`StringName<class_StringName>`, to_port\: :ref:`int<class_int>`\ ) :ref:`🔗<class_GraphEdit_signal_disconnection_request>`
|
||
|
||
Отправляется в GraphEdit при попытке удалить соединение между ``from_port`` из ``from_node`` :ref:`GraphNode<class_GraphNode>` и ``to_port`` из ``to_node`` :ref:`GraphNode<class_GraphNode>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_signal_duplicate_nodes_request:
|
||
|
||
.. rst-class:: classref-signal
|
||
|
||
**duplicate_nodes_request**\ (\ ) :ref:`🔗<class_GraphEdit_signal_duplicate_nodes_request>`
|
||
|
||
Выдается, когда этот **GraphEdit** захватывает действие ``ui_graph_duplicate`` (:kbd:`Ctrl + D` по умолчанию). В общем случае этот сигнал указывает на то, что выбранные :ref:`GraphElement<class_GraphElement>` должны быть дублированы.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_signal_end_node_move:
|
||
|
||
.. rst-class:: classref-signal
|
||
|
||
**end_node_move**\ (\ ) :ref:`🔗<class_GraphEdit_signal_end_node_move>`
|
||
|
||
Выдается в конце движения :ref:`GraphElement<class_GraphElement>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_signal_frame_rect_changed:
|
||
|
||
.. rst-class:: classref-signal
|
||
|
||
**frame_rect_changed**\ (\ frame\: :ref:`GraphFrame<class_GraphFrame>`, new_rect\: :ref:`Rect2<class_Rect2>`\ ) :ref:`🔗<class_GraphEdit_signal_frame_rect_changed>`
|
||
|
||
Вызывается, когда :ref:`GraphFrame<class_GraphFrame>` ``frame`` изменяет размер на ``new_rect``.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_signal_graph_elements_linked_to_frame_request:
|
||
|
||
.. rst-class:: classref-signal
|
||
|
||
**graph_elements_linked_to_frame_request**\ (\ elements\: :ref:`Array<class_Array>`, frame\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_GraphEdit_signal_graph_elements_linked_to_frame_request>`
|
||
|
||
Вызывается, когда один или несколько :ref:`GraphElement<class_GraphElement>` помещаются на :ref:`GraphFrame<class_GraphFrame>` с именем ``frame``, когда они ранее не были прикреплены ни к какому другому.
|
||
|
||
\ ``elements`` — это массив :ref:`GraphElement<class_GraphElement>`, которые необходимо прикрепить.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_signal_node_deselected:
|
||
|
||
.. rst-class:: classref-signal
|
||
|
||
**node_deselected**\ (\ node\: :ref:`Node<class_Node>`\ ) :ref:`🔗<class_GraphEdit_signal_node_deselected>`
|
||
|
||
Вызывается, когда указанный узел :ref:`GraphElement<class_GraphElement>` отменяет выбор (теряет фокус).
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_signal_node_selected:
|
||
|
||
.. rst-class:: classref-signal
|
||
|
||
**node_selected**\ (\ node\: :ref:`Node<class_Node>`\ ) :ref:`🔗<class_GraphEdit_signal_node_selected>`
|
||
|
||
Вызывается при выборе указанного узла :ref:`GraphElement<class_GraphElement>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_signal_paste_nodes_request:
|
||
|
||
.. rst-class:: classref-signal
|
||
|
||
**paste_nodes_request**\ (\ ) :ref:`🔗<class_GraphEdit_signal_paste_nodes_request>`
|
||
|
||
Выдается, когда этот **GraphEdit** захватывает действие ``ui_paste`` (:kbd:`Ctrl + V` по умолчанию). В общем случае этот сигнал указывает на то, что ранее скопированные :ref:`GraphElement<class_GraphElement>` должны быть вставлены.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_signal_popup_request:
|
||
|
||
.. rst-class:: classref-signal
|
||
|
||
**popup_request**\ (\ at_position\: :ref:`Vector2<class_Vector2>`\ ) :ref:`🔗<class_GraphEdit_signal_popup_request>`
|
||
|
||
Выдается при запросе всплывающего окна. Происходит при щелчке правой кнопкой мыши в GraphEdit. ``at_position`` — это положение указателя мыши при отправке сигнала.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_signal_scroll_offset_changed:
|
||
|
||
.. rst-class:: classref-signal
|
||
|
||
**scroll_offset_changed**\ (\ offset\: :ref:`Vector2<class_Vector2>`\ ) :ref:`🔗<class_GraphEdit_signal_scroll_offset_changed>`
|
||
|
||
Выдается, когда пользователь изменяет смещение прокрутки. Не будет выдаваться при изменении в коде.
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
Перечисления
|
||
------------------------
|
||
|
||
.. _enum_GraphEdit_PanningScheme:
|
||
|
||
.. rst-class:: classref-enumeration
|
||
|
||
enum **PanningScheme**: :ref:`🔗<enum_GraphEdit_PanningScheme>`
|
||
|
||
.. _class_GraphEdit_constant_SCROLL_ZOOMS:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`PanningScheme<enum_GraphEdit_PanningScheme>` **SCROLL_ZOOMS** = ``0``
|
||
|
||
:kbd:`Mouse Wheel` будет увеличивать масштаб, :kbd:`Ctrl + Mouse Wheel` будет перемещать вид.
|
||
|
||
.. _class_GraphEdit_constant_SCROLL_PANS:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`PanningScheme<enum_GraphEdit_PanningScheme>` **SCROLL_PANS** = ``1``
|
||
|
||
:kbd:`Mouse Wheel` перемещает вид, :kbd:`Ctrl + Mouse Wheel` масштабирует.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _enum_GraphEdit_GridPattern:
|
||
|
||
.. rst-class:: classref-enumeration
|
||
|
||
enum **GridPattern**: :ref:`🔗<enum_GraphEdit_GridPattern>`
|
||
|
||
.. _class_GraphEdit_constant_GRID_PATTERN_LINES:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`GridPattern<enum_GraphEdit_GridPattern>` **GRID_PATTERN_LINES** = ``0``
|
||
|
||
Нарисуйте сетку сплошными линиями.
|
||
|
||
.. _class_GraphEdit_constant_GRID_PATTERN_DOTS:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`GridPattern<enum_GraphEdit_GridPattern>` **GRID_PATTERN_DOTS** = ``1``
|
||
|
||
Нарисуйте сетку с помощью точек.
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
Описания свойств
|
||
--------------------------------
|
||
|
||
.. _class_GraphEdit_property_connection_lines_antialiased:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`bool<class_bool>` **connection_lines_antialiased** = ``true`` :ref:`🔗<class_GraphEdit_property_connection_lines_antialiased>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_connection_lines_antialiased**\ (\ value\: :ref:`bool<class_bool>`\ )
|
||
- :ref:`bool<class_bool>` **is_connection_lines_antialiased**\ (\ )
|
||
|
||
Если ``true``, линии между узлами будут использовать сглаживание.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_property_connection_lines_curvature:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`float<class_float>` **connection_lines_curvature** = ``0.5`` :ref:`🔗<class_GraphEdit_property_connection_lines_curvature>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_connection_lines_curvature**\ (\ value\: :ref:`float<class_float>`\ )
|
||
- :ref:`float<class_float>` **get_connection_lines_curvature**\ (\ )
|
||
|
||
Кривизна линий между узлами. 0 приводит к прямым линиям.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_property_connection_lines_thickness:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`float<class_float>` **connection_lines_thickness** = ``4.0`` :ref:`🔗<class_GraphEdit_property_connection_lines_thickness>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_connection_lines_thickness**\ (\ value\: :ref:`float<class_float>`\ )
|
||
- :ref:`float<class_float>` **get_connection_lines_thickness**\ (\ )
|
||
|
||
Толщина линий между узлами.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_property_connections:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`Array<class_Array>`\[:ref:`Dictionary<class_Dictionary>`\] **connections** = ``[]`` :ref:`🔗<class_GraphEdit_property_connections>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_connections**\ (\ value\: :ref:`Array<class_Array>`\[:ref:`Dictionary<class_Dictionary>`\]\ )
|
||
- :ref:`Array<class_Array>`\[:ref:`Dictionary<class_Dictionary>`\] **get_connection_list**\ (\ )
|
||
|
||
Связи между :ref:`GraphNode<class_GraphNode>`.
|
||
|
||
Связь представлена как :ref:`Dictionary<class_Dictionary>` в форме:
|
||
|
||
::
|
||
|
||
{
|
||
from_node: StringName,
|
||
from_port: int,
|
||
to_node: StringName,
|
||
to_port: int,
|
||
keep_alive: bool
|
||
}
|
||
|
||
Связи с ``keep_alive``, установленным на ``false``, могут быть удалены автоматически, если они недействительны во время перерисовки.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_property_grid_pattern:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`GridPattern<enum_GraphEdit_GridPattern>` **grid_pattern** = ``0`` :ref:`🔗<class_GraphEdit_property_grid_pattern>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_grid_pattern**\ (\ value\: :ref:`GridPattern<enum_GraphEdit_GridPattern>`\ )
|
||
- :ref:`GridPattern<enum_GraphEdit_GridPattern>` **get_grid_pattern**\ (\ )
|
||
|
||
Узор, используемый для рисования сетки.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_property_minimap_enabled:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`bool<class_bool>` **minimap_enabled** = ``true`` :ref:`🔗<class_GraphEdit_property_minimap_enabled>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_minimap_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
|
||
- :ref:`bool<class_bool>` **is_minimap_enabled**\ (\ )
|
||
|
||
Если ``true``, мини-карта видна.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_property_minimap_opacity:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`float<class_float>` **minimap_opacity** = ``0.65`` :ref:`🔗<class_GraphEdit_property_minimap_opacity>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_minimap_opacity**\ (\ value\: :ref:`float<class_float>`\ )
|
||
- :ref:`float<class_float>` **get_minimap_opacity**\ (\ )
|
||
|
||
Непрозрачность прямоугольника миникарты.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_property_minimap_size:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`Vector2<class_Vector2>` **minimap_size** = ``Vector2(240, 160)`` :ref:`🔗<class_GraphEdit_property_minimap_size>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_minimap_size**\ (\ value\: :ref:`Vector2<class_Vector2>`\ )
|
||
- :ref:`Vector2<class_Vector2>` **get_minimap_size**\ (\ )
|
||
|
||
Размер прямоугольника миникарты. Сама карта основана на размере области сетки и масштабируется, чтобы вписаться в этот прямоугольник.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_property_panning_scheme:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`PanningScheme<enum_GraphEdit_PanningScheme>` **panning_scheme** = ``0`` :ref:`🔗<class_GraphEdit_property_panning_scheme>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_panning_scheme**\ (\ value\: :ref:`PanningScheme<enum_GraphEdit_PanningScheme>`\ )
|
||
- :ref:`PanningScheme<enum_GraphEdit_PanningScheme>` **get_panning_scheme**\ (\ )
|
||
|
||
Определяет схему управления панорамированием с помощью колесика мыши.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_property_right_disconnects:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`bool<class_bool>` **right_disconnects** = ``false`` :ref:`🔗<class_GraphEdit_property_right_disconnects>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_right_disconnects**\ (\ value\: :ref:`bool<class_bool>`\ )
|
||
- :ref:`bool<class_bool>` **is_right_disconnects_enabled**\ (\ )
|
||
|
||
Если ``true``, позволяет отключать существующие соединения в GraphEdit путем перетаскивания правого конца.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_property_scroll_offset:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`Vector2<class_Vector2>` **scroll_offset** = ``Vector2(0, 0)`` :ref:`🔗<class_GraphEdit_property_scroll_offset>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_scroll_offset**\ (\ value\: :ref:`Vector2<class_Vector2>`\ )
|
||
- :ref:`Vector2<class_Vector2>` **get_scroll_offset**\ (\ )
|
||
|
||
Смещение прокрутки.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_property_show_arrange_button:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`bool<class_bool>` **show_arrange_button** = ``true`` :ref:`🔗<class_GraphEdit_property_show_arrange_button>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_show_arrange_button**\ (\ value\: :ref:`bool<class_bool>`\ )
|
||
- :ref:`bool<class_bool>` **is_showing_arrange_button**\ (\ )
|
||
|
||
Если ``true``, кнопка для автоматического упорядочивания узлов графа будет видна.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_property_show_grid:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`bool<class_bool>` **show_grid** = ``true`` :ref:`🔗<class_GraphEdit_property_show_grid>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_show_grid**\ (\ value\: :ref:`bool<class_bool>`\ )
|
||
- :ref:`bool<class_bool>` **is_showing_grid**\ (\ )
|
||
|
||
Если ``true``, сетка видна.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_property_show_grid_buttons:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`bool<class_bool>` **show_grid_buttons** = ``true`` :ref:`🔗<class_GraphEdit_property_show_grid_buttons>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_show_grid_buttons**\ (\ value\: :ref:`bool<class_bool>`\ )
|
||
- :ref:`bool<class_bool>` **is_showing_grid_buttons**\ (\ )
|
||
|
||
Если ``true``, то видны кнопки, позволяющие настраивать параметры сетки и привязки.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_property_show_menu:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`bool<class_bool>` **show_menu** = ``true`` :ref:`🔗<class_GraphEdit_property_show_menu>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_show_menu**\ (\ value\: :ref:`bool<class_bool>`\ )
|
||
- :ref:`bool<class_bool>` **is_showing_menu**\ (\ )
|
||
|
||
Если ``true``, панель инструментов меню видна.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_property_show_minimap_button:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`bool<class_bool>` **show_minimap_button** = ``true`` :ref:`🔗<class_GraphEdit_property_show_minimap_button>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_show_minimap_button**\ (\ value\: :ref:`bool<class_bool>`\ )
|
||
- :ref:`bool<class_bool>` **is_showing_minimap_button**\ (\ )
|
||
|
||
Если ``true``, кнопка переключения мини-карты будет видна.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_property_show_zoom_buttons:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`bool<class_bool>` **show_zoom_buttons** = ``true`` :ref:`🔗<class_GraphEdit_property_show_zoom_buttons>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_show_zoom_buttons**\ (\ value\: :ref:`bool<class_bool>`\ )
|
||
- :ref:`bool<class_bool>` **is_showing_zoom_buttons**\ (\ )
|
||
|
||
Если ``true``, видны кнопки, позволяющие изменять и сбрасывать уровень масштабирования.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_property_show_zoom_label:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`bool<class_bool>` **show_zoom_label** = ``false`` :ref:`🔗<class_GraphEdit_property_show_zoom_label>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_show_zoom_label**\ (\ value\: :ref:`bool<class_bool>`\ )
|
||
- :ref:`bool<class_bool>` **is_showing_zoom_label**\ (\ )
|
||
|
||
Если ``true``, то виден текст с текущим уровнем масштабирования. Уровень масштабирования отображается в процентах.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_property_snapping_distance:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`int<class_int>` **snapping_distance** = ``20`` :ref:`🔗<class_GraphEdit_property_snapping_distance>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_snapping_distance**\ (\ value\: :ref:`int<class_int>`\ )
|
||
- :ref:`int<class_int>` **get_snapping_distance**\ (\ )
|
||
|
||
Расстояние привязки в пикселях, также определяет расстояние между линиями сетки.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_property_snapping_enabled:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`bool<class_bool>` **snapping_enabled** = ``true`` :ref:`🔗<class_GraphEdit_property_snapping_enabled>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_snapping_enabled**\ (\ value\: :ref:`bool<class_bool>`\ )
|
||
- :ref:`bool<class_bool>` **is_snapping_enabled**\ (\ )
|
||
|
||
Если ``true``, включает привязку.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_property_type_names:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`Dictionary<class_Dictionary>` **type_names** = ``{}`` :ref:`🔗<class_GraphEdit_property_type_names>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_type_names**\ (\ value\: :ref:`Dictionary<class_Dictionary>`\ )
|
||
- :ref:`Dictionary<class_Dictionary>` **get_type_names**\ (\ )
|
||
|
||
:ref:`Dictionary<class_Dictionary>` of human-readable port type names.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_property_zoom:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`float<class_float>` **zoom** = ``1.0`` :ref:`🔗<class_GraphEdit_property_zoom>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_zoom**\ (\ value\: :ref:`float<class_float>`\ )
|
||
- :ref:`float<class_float>` **get_zoom**\ (\ )
|
||
|
||
Текущее значение масштабирования.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_property_zoom_max:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`float<class_float>` **zoom_max** = ``2.0736003`` :ref:`🔗<class_GraphEdit_property_zoom_max>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_zoom_max**\ (\ value\: :ref:`float<class_float>`\ )
|
||
- :ref:`float<class_float>` **get_zoom_max**\ (\ )
|
||
|
||
Максимальный предел масштабирования.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_property_zoom_min:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`float<class_float>` **zoom_min** = ``0.23256795`` :ref:`🔗<class_GraphEdit_property_zoom_min>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_zoom_min**\ (\ value\: :ref:`float<class_float>`\ )
|
||
- :ref:`float<class_float>` **get_zoom_min**\ (\ )
|
||
|
||
Минимальный предел масштабирования.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_property_zoom_step:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`float<class_float>` **zoom_step** = ``1.2`` :ref:`🔗<class_GraphEdit_property_zoom_step>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_zoom_step**\ (\ value\: :ref:`float<class_float>`\ )
|
||
- :ref:`float<class_float>` **get_zoom_step**\ (\ )
|
||
|
||
Шаг каждого уровня масштабирования.
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
Описания метода
|
||
------------------------------
|
||
|
||
.. _class_GraphEdit_private_method__get_connection_line:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`PackedVector2Array<class_PackedVector2Array>` **_get_connection_line**\ (\ from_position\: :ref:`Vector2<class_Vector2>`, to_position\: :ref:`Vector2<class_Vector2>`\ ) |virtual| |const| :ref:`🔗<class_GraphEdit_private_method__get_connection_line>`
|
||
|
||
Виртуальный метод, который можно переопределить, чтобы настроить способ рисования соединений.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_private_method__is_in_input_hotzone:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`bool<class_bool>` **_is_in_input_hotzone**\ (\ in_node\: :ref:`Object<class_Object>`, in_port\: :ref:`int<class_int>`, mouse_position\: :ref:`Vector2<class_Vector2>`\ ) |virtual| :ref:`🔗<class_GraphEdit_private_method__is_in_input_hotzone>`
|
||
|
||
Возвращает, находится ли ``mouse_position`` в зоне активного входа.
|
||
|
||
По умолчанию зона активного входа — это :ref:`Rect2<class_Rect2>`, расположенный таким образом, что его центр находится в ``in_node``.\ :ref:`GraphNode.get_input_port_position()<class_GraphNode_method_get_input_port_position>`\ (``in_port``) (В случае выхода вместо этого вызовите :ref:`GraphNode.get_output_port_position()<class_GraphNode_method_get_output_port_position>`). Ширина зоны активного входа в два раза больше свойства темы ``port_grab_distance_horizontal``, а ее высота в два раза больше ``port_grab_distance_vertical``.
|
||
|
||
Ниже приведен пример кода, который поможет начать работу:
|
||
|
||
::
|
||
|
||
func _is_in_input_hotzone(in_node, in_port, mouse_position):
|
||
var port_size = Vector2(get_theme_constant("port_grab_distance_horizontal"), get_theme_constant("port_grab_distance_vertical"))
|
||
var port_pos = in_node.get_position() + in_node.get_input_port_position(in_port) - port_size / 2
|
||
var rect = Rect2(port_pos, port_size)
|
||
|
||
return rect.has_point(mouse_position)
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_private_method__is_in_output_hotzone:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`bool<class_bool>` **_is_in_output_hotzone**\ (\ in_node\: :ref:`Object<class_Object>`, in_port\: :ref:`int<class_int>`, mouse_position\: :ref:`Vector2<class_Vector2>`\ ) |virtual| :ref:`🔗<class_GraphEdit_private_method__is_in_output_hotzone>`
|
||
|
||
Возвращает, находится ли ``mouse_position`` в выходной горячей зоне. Для получения дополнительной информации о горячих зонах см. :ref:`_is_in_input_hotzone()<class_GraphEdit_private_method__is_in_input_hotzone>`.
|
||
|
||
Ниже приведен пример кода, который поможет начать работу:
|
||
|
||
::
|
||
|
||
func _is_in_output_hotzone(in_node, in_port, mouse_position):
|
||
var port_size = Vector2(get_theme_constant("port_grab_distance_horizontal"), get_theme_constant("port_grab_distance_vertical"))
|
||
var port_pos = in_node.get_position() + in_node.get_output_port_position(in_port) - port_size / 2
|
||
var rect = Rect2(port_pos, port_size)
|
||
|
||
return rect.has_point(mouse_position)
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_private_method__is_node_hover_valid:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`bool<class_bool>` **_is_node_hover_valid**\ (\ from_node\: :ref:`StringName<class_StringName>`, from_port\: :ref:`int<class_int>`, to_node\: :ref:`StringName<class_StringName>`, to_port\: :ref:`int<class_int>`\ ) |virtual| :ref:`🔗<class_GraphEdit_private_method__is_node_hover_valid>`
|
||
|
||
Этот виртуальный метод можно использовать для вставки дополнительного обнаружения ошибок, пока пользователь перетаскивает соединение через допустимый порт.
|
||
|
||
Верните ``true``, если соединение действительно допустимо, или верните ``false``, если соединение невозможно. Если соединение невозможно, то привязка к порту и, следовательно, запрос на соединение к этому порту не произойдет.
|
||
|
||
В этом примере соединение с тем же узлом подавляется:
|
||
|
||
|
||
.. tabs::
|
||
|
||
.. code-tab:: gdscript
|
||
|
||
func _is_node_hover_valid(from, from_port, to, to_port):
|
||
return from != to
|
||
|
||
.. code-tab:: csharp
|
||
|
||
public override bool _IsNodeHoverValid(StringName fromNode, int fromPort, StringName toNode, int toPort)
|
||
{
|
||
return fromNode != toNode;
|
||
}
|
||
|
||
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_method_add_valid_connection_type:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **add_valid_connection_type**\ (\ from_type\: :ref:`int<class_int>`, to_type\: :ref:`int<class_int>`\ ) :ref:`🔗<class_GraphEdit_method_add_valid_connection_type>`
|
||
|
||
Позволяет устанавливать соединение между двумя разными типами портов. Тип порта определяется индивидуально для левого и правого порта каждого слота с помощью метода :ref:`GraphNode.set_slot()<class_GraphNode_method_set_slot>`.
|
||
|
||
См. также :ref:`is_valid_connection_type()<class_GraphEdit_method_is_valid_connection_type>` и :ref:`remove_valid_connection_type()<class_GraphEdit_method_remove_valid_connection_type>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_method_add_valid_left_disconnect_type:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **add_valid_left_disconnect_type**\ (\ type\: :ref:`int<class_int>`\ ) :ref:`🔗<class_GraphEdit_method_add_valid_left_disconnect_type>`
|
||
|
||
Позволяет отключать узлы при перетаскивании из левого порта слота :ref:`GraphNode<class_GraphNode>`, если он имеет указанный тип. См. также :ref:`remove_valid_left_disconnect_type()<class_GraphEdit_method_remove_valid_left_disconnect_type>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_method_add_valid_right_disconnect_type:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **add_valid_right_disconnect_type**\ (\ type\: :ref:`int<class_int>`\ ) :ref:`🔗<class_GraphEdit_method_add_valid_right_disconnect_type>`
|
||
|
||
Позволяет отключать узлы при перетаскивании из правого порта слота :ref:`GraphNode<class_GraphNode>`, если он имеет указанный тип. См. также :ref:`remove_valid_right_disconnect_type()<class_GraphEdit_method_remove_valid_right_disconnect_type>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_method_arrange_nodes:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **arrange_nodes**\ (\ ) :ref:`🔗<class_GraphEdit_method_arrange_nodes>`
|
||
|
||
Переупорядочивает выбранные узлы в макете, с минимальным количеством пересечений между соединениями и равномерным горизонтальным и вертикальным зазором между узлами.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_method_attach_graph_element_to_frame:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **attach_graph_element_to_frame**\ (\ element\: :ref:`StringName<class_StringName>`, frame\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_GraphEdit_method_attach_graph_element_to_frame>`
|
||
|
||
Прикрепляет ``element`` :ref:`GraphElement<class_GraphElement>` к ``frame`` :ref:`GraphFrame<class_GraphFrame>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_method_clear_connections:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **clear_connections**\ (\ ) :ref:`🔗<class_GraphEdit_method_clear_connections>`
|
||
|
||
Удаляет все соединения между узлами.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_method_connect_node:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Error<enum_@GlobalScope_Error>` **connect_node**\ (\ from_node\: :ref:`StringName<class_StringName>`, from_port\: :ref:`int<class_int>`, to_node\: :ref:`StringName<class_StringName>`, to_port\: :ref:`int<class_int>`, keep_alive\: :ref:`bool<class_bool>` = false\ ) :ref:`🔗<class_GraphEdit_method_connect_node>`
|
||
|
||
Создайте соединение между ``from_port`` ``from_node`` :ref:`GraphNode<class_GraphNode>` и ``to_port`` ``to_node`` :ref:`GraphNode<class_GraphNode>`. Если соединение уже существует, соединение не создается.
|
||
|
||
Соединения с ``keep_alive``, установленным на ``false``, могут быть удалены автоматически, если они недействительны во время перерисовки.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_method_detach_graph_element_from_frame:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **detach_graph_element_from_frame**\ (\ element\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_GraphEdit_method_detach_graph_element_from_frame>`
|
||
|
||
Отсоединяет ``element`` :ref:`GraphElement<class_GraphElement>` от :ref:`GraphFrame<class_GraphFrame>`, к которому он в данный момент прикреплен.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_method_disconnect_node:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **disconnect_node**\ (\ from_node\: :ref:`StringName<class_StringName>`, from_port\: :ref:`int<class_int>`, to_node\: :ref:`StringName<class_StringName>`, to_port\: :ref:`int<class_int>`\ ) :ref:`🔗<class_GraphEdit_method_disconnect_node>`
|
||
|
||
Удаляет связь между ``from_port`` ``from_node`` :ref:`GraphNode<class_GraphNode>` и ``to_port`` ``to_node`` :ref:`GraphNode<class_GraphNode>`. Если связь не существует, то связь не удаляется.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_method_force_connection_drag_end:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **force_connection_drag_end**\ (\ ) :ref:`🔗<class_GraphEdit_method_force_connection_drag_end>`
|
||
|
||
Завершает создание текущего соединения. Другими словами, если вы перетаскиваете соединение, вы можете использовать этот метод, чтобы прервать процесс и удалить линию, которая следовала за вашим курсором.
|
||
|
||
Лучше всего использовать его вместе с :ref:`connection_drag_started<class_GraphEdit_signal_connection_drag_started>` и :ref:`connection_drag_ended<class_GraphEdit_signal_connection_drag_ended>` для добавления пользовательского поведения, например добавления узла с помощью сочетаний клавиш.
|
||
|
||
\ **Примечание:** Этот метод подавляет любые другие сигналы запроса на соединение, кроме :ref:`connection_drag_ended<class_GraphEdit_signal_connection_drag_ended>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_method_get_attached_nodes_of_frame:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Array<class_Array>`\[:ref:`StringName<class_StringName>`\] **get_attached_nodes_of_frame**\ (\ frame\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_GraphEdit_method_get_attached_nodes_of_frame>`
|
||
|
||
Возвращает массив имен узлов, прикрепленных к :ref:`GraphFrame<class_GraphFrame>` с заданным именем.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_method_get_closest_connection_at_point:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Dictionary<class_Dictionary>` **get_closest_connection_at_point**\ (\ point\: :ref:`Vector2<class_Vector2>`, max_distance\: :ref:`float<class_float>` = 4.0\ ) |const| :ref:`🔗<class_GraphEdit_method_get_closest_connection_at_point>`
|
||
|
||
Возвращает ближайшее соединение в заданной точке в пространстве экрана. Если соединение не найдено в пределах ``max_distance`` пикселей, возвращается пустой :ref:`Dictionary<class_Dictionary>`.
|
||
|
||
Соединение представляется как :ref:`Dictionary<class_Dictionary>` в виде:
|
||
|
||
::
|
||
|
||
{
|
||
from_node: StringName,
|
||
from_port: int,
|
||
to_node: StringName,
|
||
to_port: int,
|
||
keep_alive: bool
|
||
}
|
||
|
||
Например, получение соединения в заданной позиции мыши может быть достигнуто следующим образом:
|
||
|
||
|
||
.. tabs::
|
||
|
||
.. code-tab:: gdscript
|
||
|
||
var connection = get_closest_connection_at_point(mouse_event.get_position())
|
||
|
||
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_method_get_connection_count:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`int<class_int>` **get_connection_count**\ (\ from_node\: :ref:`StringName<class_StringName>`, from_port\: :ref:`int<class_int>`\ ) :ref:`🔗<class_GraphEdit_method_get_connection_count>`
|
||
|
||
Возвращает количество соединений из ``from_port`` ``from_node``.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_method_get_connection_line:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`PackedVector2Array<class_PackedVector2Array>` **get_connection_line**\ (\ from_node\: :ref:`Vector2<class_Vector2>`, to_node\: :ref:`Vector2<class_Vector2>`\ ) |const| :ref:`🔗<class_GraphEdit_method_get_connection_line>`
|
||
|
||
Возвращает точки, которые составят связь между ``from_node`` и ``to_node``.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_method_get_connection_list_from_node:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Array<class_Array>`\[:ref:`Dictionary<class_Dictionary>`\] **get_connection_list_from_node**\ (\ node\: :ref:`StringName<class_StringName>`\ ) |const| :ref:`🔗<class_GraphEdit_method_get_connection_list_from_node>`
|
||
|
||
Возвращает :ref:`Array<class_Array>`, содержащий список всех соединений для ``node``.
|
||
|
||
Соединение представлено как :ref:`Dictionary<class_Dictionary>` в форме:
|
||
|
||
::
|
||
|
||
{
|
||
from_node: StringName,
|
||
from_port: int,
|
||
to_node: StringName,
|
||
to_port: int,
|
||
keep_alive: bool
|
||
}
|
||
|
||
\ **Пример:** Получить все соединения на определенном порту:
|
||
|
||
::
|
||
|
||
func get_connection_list_from_port(node, port):
|
||
var connections = get_connection_list_from_node(node)
|
||
var result = []
|
||
for connection in connections:
|
||
var dict = {}
|
||
if connection["from_node"] == node and connection["from_port"] == port:
|
||
dict["node"] = connection["to_node"]
|
||
dict["port"] = connection["to_port"]
|
||
dict["type"] = "левый"
|
||
result.push_back(dict)
|
||
elif connection["to_node"] == node and connection["to_port"] == port:
|
||
dict["node"] = connection["from_node"]
|
||
dict["port"] = connection["from_port"]
|
||
dict["type"] = "правый"
|
||
result.push_back(dict)
|
||
return result
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_method_get_connections_intersecting_with_rect:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Array<class_Array>`\[:ref:`Dictionary<class_Dictionary>`\] **get_connections_intersecting_with_rect**\ (\ rect\: :ref:`Rect2<class_Rect2>`\ ) |const| :ref:`🔗<class_GraphEdit_method_get_connections_intersecting_with_rect>`
|
||
|
||
Возвращает :ref:`Array<class_Array>`, содержащий список соединений, которые пересекаются с заданным :ref:`Rect2<class_Rect2>`.
|
||
|
||
Соединение представлено как :ref:`Dictionary<class_Dictionary>` в форме:
|
||
|
||
::
|
||
|
||
{
|
||
from_node: StringName,
|
||
from_port: int,
|
||
to_node: StringName,
|
||
to_port: int,
|
||
keep_alive: bool
|
||
}
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_method_get_element_frame:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`GraphFrame<class_GraphFrame>` **get_element_frame**\ (\ element\: :ref:`StringName<class_StringName>`\ ) :ref:`🔗<class_GraphEdit_method_get_element_frame>`
|
||
|
||
Возвращает :ref:`GraphFrame<class_GraphFrame>`, содержащий :ref:`GraphElement<class_GraphElement>` с указанным именем.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_method_get_menu_hbox:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`HBoxContainer<class_HBoxContainer>` **get_menu_hbox**\ (\ ) :ref:`🔗<class_GraphEdit_method_get_menu_hbox>`
|
||
|
||
Получает :ref:`HBoxContainer<class_HBoxContainer>`, содержащий элементы управления масштабированием и привязкой к сетке в левом верхнем углу графика. Вы можете использовать этот метод для изменения положения панели инструментов или добавления к ней собственных элементов управления.
|
||
|
||
\ **Предупреждение:** Это обязательный внутренний узел, его удаление и освобождение может привести к сбою. Если вы хотите скрыть его или любой из его дочерних элементов, используйте их свойство :ref:`CanvasItem.visible<class_CanvasItem_property_visible>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_method_is_node_connected:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`bool<class_bool>` **is_node_connected**\ (\ from_node\: :ref:`StringName<class_StringName>`, from_port\: :ref:`int<class_int>`, to_node\: :ref:`StringName<class_StringName>`, to_port\: :ref:`int<class_int>`\ ) :ref:`🔗<class_GraphEdit_method_is_node_connected>`
|
||
|
||
Возвращает ``true``, если ``from_port`` узла ``from_node`` :ref:`GraphNode<class_GraphNode>` подключен к ``to_port`` узла ``to_node`` :ref:`GraphNode<class_GraphNode>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_method_is_valid_connection_type:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`bool<class_bool>` **is_valid_connection_type**\ (\ from_type\: :ref:`int<class_int>`, to_type\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_GraphEdit_method_is_valid_connection_type>`
|
||
|
||
Возвращает, возможно ли установить соединение между двумя разными типами портов. Тип порта определяется индивидуально для левого и правого порта каждого слота с помощью метода :ref:`GraphNode.set_slot()<class_GraphNode_method_set_slot>`.
|
||
|
||
См. также :ref:`add_valid_connection_type()<class_GraphEdit_method_add_valid_connection_type>` и :ref:`remove_valid_connection_type()<class_GraphEdit_method_remove_valid_connection_type>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_method_remove_valid_connection_type:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **remove_valid_connection_type**\ (\ from_type\: :ref:`int<class_int>`, to_type\: :ref:`int<class_int>`\ ) :ref:`🔗<class_GraphEdit_method_remove_valid_connection_type>`
|
||
|
||
Запрещает соединение между двумя различными типами портов, ранее разрешенными :ref:`add_valid_connection_type()<class_GraphEdit_method_add_valid_connection_type>`. Тип порта определяется индивидуально для левого и правого порта каждого слота с помощью метода :ref:`GraphNode.set_slot()<class_GraphNode_method_set_slot>`.
|
||
|
||
См. также :ref:`is_valid_connection_type()<class_GraphEdit_method_is_valid_connection_type>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_method_remove_valid_left_disconnect_type:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **remove_valid_left_disconnect_type**\ (\ type\: :ref:`int<class_int>`\ ) :ref:`🔗<class_GraphEdit_method_remove_valid_left_disconnect_type>`
|
||
|
||
Disallows to disconnect nodes when dragging from the left port of the :ref:`GraphNode<class_GraphNode>`'s slot if it has the specified type. Use this to disable a disconnection previously allowed with :ref:`add_valid_left_disconnect_type()<class_GraphEdit_method_add_valid_left_disconnect_type>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_method_remove_valid_right_disconnect_type:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **remove_valid_right_disconnect_type**\ (\ type\: :ref:`int<class_int>`\ ) :ref:`🔗<class_GraphEdit_method_remove_valid_right_disconnect_type>`
|
||
|
||
Disallows to disconnect nodes when dragging from the right port of the :ref:`GraphNode<class_GraphNode>`'s slot if it has the specified type. Use this to disable a disconnection previously allowed with :ref:`add_valid_right_disconnect_type()<class_GraphEdit_method_add_valid_right_disconnect_type>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_method_set_connection_activity:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **set_connection_activity**\ (\ from_node\: :ref:`StringName<class_StringName>`, from_port\: :ref:`int<class_int>`, to_node\: :ref:`StringName<class_StringName>`, to_port\: :ref:`int<class_int>`, amount\: :ref:`float<class_float>`\ ) :ref:`🔗<class_GraphEdit_method_set_connection_activity>`
|
||
|
||
Устанавливает окраску соединения между ``from_node`` ``from_port`` и ``to_node`` ``to_port`` с цветом, предоставленным в свойстве темы :ref:`activity<class_GraphEdit_theme_color_activity>`. Цвет линейно интерполируется между цветом соединения и цветом активности с использованием ``amount`` в качестве веса.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_method_set_selected:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
|void| **set_selected**\ (\ node\: :ref:`Node<class_Node>`\ ) :ref:`🔗<class_GraphEdit_method_set_selected>`
|
||
|
||
Устанавливает указанный ``node`` как выбранный.
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
Описания свойств темы
|
||
------------------------------------------
|
||
|
||
.. _class_GraphEdit_theme_color_activity:
|
||
|
||
.. rst-class:: classref-themeproperty
|
||
|
||
:ref:`Color<class_Color>` **activity** = ``Color(1, 1, 1, 1)`` :ref:`🔗<class_GraphEdit_theme_color_activity>`
|
||
|
||
Цвет линии соединения интерполируется на основе значения активности соединения (см. :ref:`set_connection_activity()<class_GraphEdit_method_set_connection_activity>`).
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_theme_color_connection_hover_tint_color:
|
||
|
||
.. rst-class:: classref-themeproperty
|
||
|
||
:ref:`Color<class_Color>` **connection_hover_tint_color** = ``Color(0, 0, 0, 0.3)`` :ref:`🔗<class_GraphEdit_theme_color_connection_hover_tint_color>`
|
||
|
||
Цвет, который смешивается с соединительной линией при наведении на нее курсора мыши.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_theme_color_connection_rim_color:
|
||
|
||
.. rst-class:: classref-themeproperty
|
||
|
||
:ref:`Color<class_Color>` **connection_rim_color** = ``Color(0.1, 0.1, 0.1, 0.6)`` :ref:`🔗<class_GraphEdit_theme_color_connection_rim_color>`
|
||
|
||
Цвет ободка вокруг каждой соединительной линии используется для того, чтобы сделать пересекающиеся линии более различимыми.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_theme_color_connection_valid_target_tint_color:
|
||
|
||
.. rst-class:: classref-themeproperty
|
||
|
||
:ref:`Color<class_Color>` **connection_valid_target_tint_color** = ``Color(1, 1, 1, 0.4)`` :ref:`🔗<class_GraphEdit_theme_color_connection_valid_target_tint_color>`
|
||
|
||
Цвет, который смешивается с линией соединения, когда текущее перетаскиваемое соединение наводится на допустимый целевой порт.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_theme_color_grid_major:
|
||
|
||
.. rst-class:: classref-themeproperty
|
||
|
||
:ref:`Color<class_Color>` **grid_major** = ``Color(1, 1, 1, 0.2)`` :ref:`🔗<class_GraphEdit_theme_color_grid_major>`
|
||
|
||
Цвет основных линий/точек сетки.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_theme_color_grid_minor:
|
||
|
||
.. rst-class:: classref-themeproperty
|
||
|
||
:ref:`Color<class_Color>` **grid_minor** = ``Color(1, 1, 1, 0.05)`` :ref:`🔗<class_GraphEdit_theme_color_grid_minor>`
|
||
|
||
Цвет второстепенных линий/точек сетки.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_theme_color_selection_fill:
|
||
|
||
.. rst-class:: classref-themeproperty
|
||
|
||
:ref:`Color<class_Color>` **selection_fill** = ``Color(1, 1, 1, 0.3)`` :ref:`🔗<class_GraphEdit_theme_color_selection_fill>`
|
||
|
||
Цвет заливки прямоугольника выделения.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_theme_color_selection_stroke:
|
||
|
||
.. rst-class:: classref-themeproperty
|
||
|
||
:ref:`Color<class_Color>` **selection_stroke** = ``Color(1, 1, 1, 0.8)`` :ref:`🔗<class_GraphEdit_theme_color_selection_stroke>`
|
||
|
||
Цвет контура прямоугольника выделения.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_theme_constant_connection_hover_thickness:
|
||
|
||
.. rst-class:: classref-themeproperty
|
||
|
||
:ref:`int<class_int>` **connection_hover_thickness** = ``0`` :ref:`🔗<class_GraphEdit_theme_constant_connection_hover_thickness>`
|
||
|
||
Widens the line of a connection when the mouse is hovering over it by a percentage factor. A value of ``0`` disables the highlight. A value of ``100`` doubles the line width.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_theme_constant_port_hotzone_inner_extent:
|
||
|
||
.. rst-class:: classref-themeproperty
|
||
|
||
:ref:`int<class_int>` **port_hotzone_inner_extent** = ``22`` :ref:`🔗<class_GraphEdit_theme_constant_port_hotzone_inner_extent>`
|
||
|
||
Горизонтальный диапазон, в пределах которого можно захватить порт (внутренняя сторона).
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_theme_constant_port_hotzone_outer_extent:
|
||
|
||
.. rst-class:: classref-themeproperty
|
||
|
||
:ref:`int<class_int>` **port_hotzone_outer_extent** = ``26`` :ref:`🔗<class_GraphEdit_theme_constant_port_hotzone_outer_extent>`
|
||
|
||
Горизонтальный диапазон, в пределах которого можно захватить порт (внешняя сторона).
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_theme_icon_grid_toggle:
|
||
|
||
.. rst-class:: classref-themeproperty
|
||
|
||
:ref:`Texture2D<class_Texture2D>` **grid_toggle** :ref:`🔗<class_GraphEdit_theme_icon_grid_toggle>`
|
||
|
||
Значок кнопки переключения сетки.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_theme_icon_layout:
|
||
|
||
.. rst-class:: classref-themeproperty
|
||
|
||
:ref:`Texture2D<class_Texture2D>` **layout** :ref:`🔗<class_GraphEdit_theme_icon_layout>`
|
||
|
||
Значок кнопки макета для автоматического размещения графика.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_theme_icon_minimap_toggle:
|
||
|
||
.. rst-class:: classref-themeproperty
|
||
|
||
:ref:`Texture2D<class_Texture2D>` **minimap_toggle** :ref:`🔗<class_GraphEdit_theme_icon_minimap_toggle>`
|
||
|
||
Значок кнопки переключения мини-карты.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_theme_icon_snapping_toggle:
|
||
|
||
.. rst-class:: classref-themeproperty
|
||
|
||
:ref:`Texture2D<class_Texture2D>` **snapping_toggle** :ref:`🔗<class_GraphEdit_theme_icon_snapping_toggle>`
|
||
|
||
Значок для кнопки-переключателя привязки.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_theme_icon_zoom_in:
|
||
|
||
.. rst-class:: classref-themeproperty
|
||
|
||
:ref:`Texture2D<class_Texture2D>` **zoom_in** :ref:`🔗<class_GraphEdit_theme_icon_zoom_in>`
|
||
|
||
Значок кнопки увеличения масштаба.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_theme_icon_zoom_out:
|
||
|
||
.. rst-class:: classref-themeproperty
|
||
|
||
:ref:`Texture2D<class_Texture2D>` **zoom_out** :ref:`🔗<class_GraphEdit_theme_icon_zoom_out>`
|
||
|
||
Значок кнопки уменьшения масштаба.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_theme_icon_zoom_reset:
|
||
|
||
.. rst-class:: classref-themeproperty
|
||
|
||
:ref:`Texture2D<class_Texture2D>` **zoom_reset** :ref:`🔗<class_GraphEdit_theme_icon_zoom_reset>`
|
||
|
||
Значок кнопки сброса масштаба.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_theme_style_menu_panel:
|
||
|
||
.. rst-class:: classref-themeproperty
|
||
|
||
:ref:`StyleBox<class_StyleBox>` **menu_panel** :ref:`🔗<class_GraphEdit_theme_style_menu_panel>`
|
||
|
||
.. container:: contribute
|
||
|
||
There is currently no description for this theme property. Please help us by `contributing one <https://contributing.godotengine.org/en/latest/documentation/class_reference.html>`__!
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_theme_style_panel:
|
||
|
||
.. rst-class:: classref-themeproperty
|
||
|
||
:ref:`StyleBox<class_StyleBox>` **panel** :ref:`🔗<class_GraphEdit_theme_style_panel>`
|
||
|
||
Фон, нарисованный под сеткой.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_GraphEdit_theme_style_panel_focus:
|
||
|
||
.. rst-class:: classref-themeproperty
|
||
|
||
:ref:`StyleBox<class_StyleBox>` **panel_focus** :ref:`🔗<class_GraphEdit_theme_style_panel_focus>`
|
||
|
||
:ref:`StyleBox<class_StyleBox>` используется, когда фокус находится на **GraphEdit** (при использовании со вспомогательными приложениями).
|
||
|
||
.. |virtual| replace:: :abbr:`virtual (Этот метод обычно должен быть переопределен пользователем, чтобы иметь какой-либо эффект.)`
|
||
.. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
|
||
.. |const| replace:: :abbr:`const (Этот метод не имеет побочных эффектов. Он не изменяет ни одну из переменных-членов экземпляра.)`
|
||
.. |vararg| replace:: :abbr:`vararg (Этот метод принимает любое количество аргументов после описанных здесь.)`
|
||
.. |constructor| replace:: :abbr:`constructor (Этот метод используется для создания типа.)`
|
||
.. |static| replace:: :abbr:`static (Этот метод не нуждается в вызове экземпляра, поэтому его можно вызвать напрямую, используя имя класса.)`
|
||
.. |operator| replace:: :abbr:`operator (Этот метод описывает допустимый оператор для использования с этим типом в качестве левого операнда.)`
|
||
.. |bitfield| replace:: :abbr:`BitField (Это значение является целым числом, составленным как битовая маска следующих флагов.)`
|
||
.. |void| replace:: :abbr:`void (Нет возвращаемого значения.)`
|