Настройка курсора мыши
Возможно, вам захочется изменить внешний вид курсора мыши в вашей игре, чтобы он соответствовал общему дизайну. Существует два способа настройки курсора мыши:
Использование настроек проекта. Это проще, но более ограниченно.
Использование скрипта. Этот способ более настраиваемый, но требует написания скриптов.
Примечание
Вы можете отобразить "программный" курсор, скрыв его по умолчанию и перемещая 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. Выбор курсора зависит от вашего варианта использования.