Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
Настройка курсора мыши
Возможно, вам захочется изменить внешний вид курсора мыши в вашей игре, чтобы он соответствовал общему дизайну. Существует два способа настройки курсора мыши:
Использование настроек проекта. Это проще, но более ограниченно.
Использование скрипта. Этот способ более настраиваемый, но требует написания скриптов.
Примечание
Вы можете отобразить "программный" курсор, скрыв его по умолчанию и перемещая Sprite2D в положение курсора методом _process(), но это добавит по крайней мере один кадр задержки по сравнению с настоящим курсором мыши. Поэтому рекомендуется по возможности использовать описанный здесь подход.
Если вам нужно использовать такой подход, подумайте о добавлении шага экстраполяции, чтобы лучше отобразить фактический ввод мыши.
Используя настройки проекта
Откройте Project Settings и перейдите в Display > Mouse Cursor. Вы увидите настройки Пользовательское изображение, Горячая точка пользовательского изображения и Смещение позиции всплывающей подсказки.
Custom Image - это желаемое изображение, которое вы хотите установить в качестве курсора мыши. Горячая точка пользовательского изображения - это точка на изображении, которую вы хотели бы использовать в качестве точки обнаружения курсора.
Предупреждение
Размер пользовательского изображения должен быть не более 256×256 пикселей. Во избежание проблем с рендерингом рекомендуется использовать размер 128×128 пикселей или меньше.
На веб-платформах максимально допустимый размер изображения курсора составляет 128×128.
Используя скрипт
Создайте Node и прикрепите следующий скрипт.
extends Node
# Load the custom images for the mouse cursor.
var arrow = load("res://arrow.png")
var beam = load("res://beam.png")
func _ready():
# Changes only the arrow shape of the cursor.
# This is similar to changing it in the project settings.
Input.set_custom_mouse_cursor(arrow)
# Changes a specific shape of the cursor (here, the I-beam shape).
Input.set_custom_mouse_cursor(beam, Input.CURSOR_IBEAM)
using Godot;
public partial class MyNode : Node
{
public override void _Ready()
{
// Load the custom images for the mouse cursor.
var arrow = ResourceLoader.Load("res://arrow.png");
var beam = ResourceLoader.Load("res://beam.png");
// Changes only the arrow shape of the cursor.
// This is similar to changing it in the project settings.
Input.SetCustomMouseCursor(arrow);
// Changes a specific shape of the cursor (here, the I-beam shape).
Input.SetCustomMouseCursor(beam, Input.CursorShape.Ibeam);
}
}
См. также
Дополнительную информацию об использовании и особенностях конкретной платформы см. в документации: Input.set_custom_mouse_cursor().
Список курсоров
Вы можете определить несколько курсоров мыши, описанных в перечислении Input.CursorShape. Выбор курсора зависит от вашего варианта использования.