Справочник по классам
Эта страница объясняет, как написать ссылку на класс. Вы узнаете, где писать новые описания для классов, методов и свойств встроенных узлов Godot.
См. также
Чтобы узнать, как отправлять изменения в проект Godot с помощью системы контроля версий Git, см. Документацию по вкладу ссылок на классы.
Ссылка на каждый класс содержится в XML-файле, подобном приведенному ниже:
<class name="Node2D" inherits="CanvasItem" version="4.0">
<brief_description>
A 2D game object, inherited by all 2D-related nodes. Has a position, rotation, scale, and Z index.
</brief_description>
<description>
A 2D game object, with a transform (position, rotation, and scale). All 2D nodes, including physics objects and sprites, inherit from Node2D. Use Node2D as a parent node to move, scale and rotate children in a 2D project. Also gives control of the node's render order.
</description>
<tutorials>
<link title="Custom drawing in 2D">https://docs.godotengine.org/en/latest/tutorials/2d/custom_drawing_in_2d.html</link>
<link title="All 2D Demos">https://github.com/godotengine/godot-demo-projects/tree/master/2d</link>
</tutorials>
<methods>
<method name="apply_scale">
<return type="void">
</return>
<argument index="0" name="ratio" type="Vector2">
</argument>
<description>
Multiplies the current scale by the [code]ratio[/code] vector.
</description>
</method>
[...]
<method name="translate">
<return type="void">
</return>
<argument index="0" name="offset" type="Vector2">
</argument>
<description>
Translates the node by the given [code]offset[/code] in local coordinates.
</description>
</method>
</methods>
<members>
<member name="global_position" type="Vector2" setter="set_global_position" getter="get_global_position">
Global position.
</member>
[...]
<member name="z_index" type="int" setter="set_z_index" getter="get_z_index" default="0">
Z index. Controls the order in which the nodes render. A node with a higher Z index will display in front of others.
</member>
</members>
<constants>
</constants>
</class>
Всё начинается с краткого и полного описаний. В сгенерированной документации краткое описание всегда находится в верхней части страницы, а полное — под списком методов, переменных и констант. Методы, переменные-члены, константы и сигналы находятся в отдельных узлах XML.
Для каждого из них вам необходимо изучить, как они работают в исходном коде Godot. Затем заполните документацию, дополнив или улучшив текст в следующих тегах:
<brief_description>
<description>
<constant>
<method> (в теге <description>; возвращаемые типы и аргументы не занимают отдельные строки документации)
<member>
<signal> (в теге <description>; аргументы не занимают отдельные строки документации)
<constant>
Пишите понятным и простым языком. Всегда следуйте правилам написания, чтобы ваши описания были краткими и легко читаемыми. Не оставляйте пустых строк в описаниях: каждая строка в XML-файле будет начинаться с нового абзаца, даже если она пустая.
Как отредактировать класс XML
Отредактируйте файл выбранного класса в doc/classes/, чтобы обновить ссылку на класс. В этой папке содержится XML-файл для каждого класса. В XML-файле перечислены константы и методы, которые вы найдете в ссылке на класс. Godot автоматически генерирует и обновляет XML-файл.
Примечание
Для некоторых модулей в исходном коде движка XML-файлы находятся в каталоге modules/<module_name>/doc_classes/.
Отредактируйте его в вашем любимом текстовом редакторе. Если вы используете редактор кода, убедитесь, что он не меняет стиль отступов: для XML следует использовать табуляцию, а внутри блоков в стиле BBCode — четыре пробела. Подробнее об этом ниже.
Чтобы проверить корректность внесённых вами изменений в сгенерированную документацию, перейдите в папку doc/ и выполните команду make rst. Это преобразует XML-файлы в формат онлайн-документации и выведет сообщения об ошибках, если что-то не так.
В качестве альтернативы вы можете собрать Godot и открыть изменённую страницу во встроенном справочнике по коду. Чтобы узнать, как скомпилировать движок, прочтите руководство по компиляции.
Для удобного редактирования файла рекомендуем использовать редактор кода с поддержкой XML-файлов, например Vim, Atom, Visual Studio Code, Notepad++ или другой. Вы также можете воспользоваться функцией поиска для быстрого поиска классов и свойств.
Совет
Если вы используете Visual Studio Code, вы можете установить расширение vscode-xml, чтобы выполнить линтинг для XML-файлов ссылок на классы.
Отметка API как устаревшего/экспериментального
Чтобы отметить API как устаревший или экспериментальный, необходимо добавить соответствующий XML-атрибут. Значение атрибута должно быть сообщением, объясняющим, почему API не рекомендуется к использованию (поддерживается разметка BBCode), или пустой строкой (будет использовано сообщение по умолчанию). Если элемент API отмечен как устаревший/экспериментальный, он считается задокументированным, даже если описание пустое.
<class name="Parallax2D" inherits="Node2D" experimental="This node is meant to replace [ParallaxBackground] and [ParallaxLayer]. The implementation may change in the future." xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
[...]
</class>
<constant name="RESPONSE_USE_PROXY" value="305" enum="ResponseCode" deprecated="Many clients ignore this response code for security reasons. It is also deprecated by the HTTP standard.">
HTTP status code [code]305 Use Proxy[/code].
</constant>
<member name="auto_translate" type="bool" setter="set_auto_translate" getter="is_auto_translating" deprecated="Use [member Node.auto_translate_mode] instead.">
Toggles if any text should automatically change to its translated version depending on the current locale.
</member>
<method name="get_method_call_mode" qualifiers="const" deprecated="Use [member AnimationMixer.callback_mode_method] instead.">
<return type="int" enum="AnimationPlayer.AnimationMethodCallMode" />
<description>
Returns the call mode used for "Call Method" tracks.
</description>
</method>