Files
godot-docs-l10n/classes/ru/class_editorscript.rst
Rémi Verschelde c3f2364c10 Sync classref with 4.6 branch
Lots of translations invalidated (fuzzied) as we just synced Weblate.
2025-12-19 16:39:51 +01:00

139 lines
7.4 KiB
ReStructuredText
Raw Permalink Blame History

This file contains ambiguous Unicode characters

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

:github_url: hide
.. _class_EditorScript:
EditorScript
============
**Наследует:** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
Базовый скрипт, который можно использовать для добавления функций расширения в редактор.
.. rst-class:: classref-introduction-group
Описание
----------------
Скрипты, расширяющие этот класс и реализующие его метод :ref:`_run()<class_EditorScript_private_method__run>`, можно запустить из меню **Файл > Выполнить** редактора скриптов (или нажатием :kbd:`Ctrl + Shift + X`) во время работы редактора. Это полезно для добавления собственных функций редактора в Godot. Для более сложных дополнений рассмотрите возможность использования :ref:`EditorPlugin<class_EditorPlugin>`.
Если скрипт, расширяющий этот класс, также имеет глобальное имя класса, он будет включён в палитру команд редактора.
\ **Примечание:** Для расширения скриптов необходимо включить режим ``tool``.
\ **Пример:** При запуске следующего скрипта будет выведено сообщение «Привет из редактора Godot!»:
.. tabs::
.. code-tab:: gdscript
@tool
extends EditorScript
func _run():
print("Привет из редактора Godot!")
.. code-tab:: csharp
using Godot;
[Tool]
public partial class HelloEditor : EditorScript
{
public override void _Run()
{
GD.Print("Привет из редактора Godot!");
}
}
\ **Примечание:** EditorScript это :ref:`RefCounted<class_RefCounted>`, то есть он уничтожается, если на него нет ссылок. Это может привести к ошибкам во время асинхронных операций, если на скрипт нет ссылок.
.. rst-class:: classref-reftable-group
Методы
------------
.. table::
:widths: auto
+-----------------------------------------------+-----------------------------------------------------------------------------------------------------+
| |void| | :ref:`_run<class_EditorScript_private_method__run>`\ (\ ) |virtual| |required| |
+-----------------------------------------------+-----------------------------------------------------------------------------------------------------+
| |void| | :ref:`add_root_node<class_EditorScript_method_add_root_node>`\ (\ node\: :ref:`Node<class_Node>`\ ) |
+-----------------------------------------------+-----------------------------------------------------------------------------------------------------+
| :ref:`EditorInterface<class_EditorInterface>` | :ref:`get_editor_interface<class_EditorScript_method_get_editor_interface>`\ (\ ) |const| |
+-----------------------------------------------+-----------------------------------------------------------------------------------------------------+
| :ref:`Node<class_Node>` | :ref:`get_scene<class_EditorScript_method_get_scene>`\ (\ ) |const| |
+-----------------------------------------------+-----------------------------------------------------------------------------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Описания метода
------------------------------
.. _class_EditorScript_private_method__run:
.. rst-class:: classref-method
|void| **_run**\ (\ ) |virtual| |required| :ref:`🔗<class_EditorScript_private_method__run>`
Этот метод выполняется редактором при использовании **Файл > Выполнить**.
.. rst-class:: classref-item-separator
----
.. _class_EditorScript_method_add_root_node:
.. rst-class:: classref-method
|void| **add_root_node**\ (\ node\: :ref:`Node<class_Node>`\ ) :ref:`🔗<class_EditorScript_method_add_root_node>`
**Устарело:** Use :ref:`EditorInterface.add_root_node()<class_EditorInterface_method_add_root_node>` instead.
Делает ``node`` корнем текущей открытой сцены. Работает только если сцена пуста. Если ``node`` является экземпляром сцены, будет создана наследующая сцена.
.. rst-class:: classref-item-separator
----
.. _class_EditorScript_method_get_editor_interface:
.. rst-class:: classref-method
:ref:`EditorInterface<class_EditorInterface>` **get_editor_interface**\ (\ ) |const| :ref:`🔗<class_EditorScript_method_get_editor_interface>`
**Устарело:** :ref:`EditorInterface<class_EditorInterface>` is a global singleton and can be accessed directly by its name.
Возвращает экземпляр синглтона :ref:`EditorInterface<class_EditorInterface>`.
.. rst-class:: classref-item-separator
----
.. _class_EditorScript_method_get_scene:
.. rst-class:: classref-method
:ref:`Node<class_Node>` **get_scene**\ (\ ) |const| :ref:`🔗<class_EditorScript_method_get_scene>`
**Устарело:** Use :ref:`EditorInterface.get_edited_scene_root()<class_EditorInterface_method_get_edited_scene_root>` instead.
Возвращает корень :ref:`Node<class_Node>` редактируемой (текущей) сцены. Эквивалент :ref:`EditorInterface.get_edited_scene_root()<class_EditorInterface_method_get_edited_scene_root>`.
.. |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 (Нет возвращаемого значения.)`