Настроювання курсора мишки

Можливо, ви захочете змінити зовнішній вигляд курсора мишки у вашій грі, щоб він відповідав загальному дизайну. Існує два способи оформлення курсора мишки:

  1. Використання параметрів проекту

  2. Використання скрипта

Використання параметрів проекту є більш простим (але більш обмеженим) способом оформлення курсора мишки. Другий спосіб дає більше можливостей, але потребує написання скриптів.

Примітка

Ви можете відобразити "програмний" курсор мишки, приховавши курсор мишки та переміщуючи Спрайт на позиції курсора в методі _process, але це додасть принаймні один кадр затримки порівняно з "апаратним" курсором мишки. Тому рекомендується, за можливості, використовувати описаний тут підхід.

Якщо вам потрібно використовувати "програмний" підхід, подумайте про додавання кроку екстраполяції, щоб краще відобразити фактичний ввід миші.

Використання параметрів проекту

Відкрийте параметри проекту, перейдіть до розділу Display>Mouse Cursor. Ви побачите користувацьке зображення Custom Image та спеціальну точку доступу до зображень Custom Image Hotspot.

../../_images/cursor_project_settings.png

Користувацьке зображення - це бажане зображення, яке ви хотіли б встановити, як курсор мишки. Настроювана точка доступу - це точка на зображенні, яку ви хотіли б використовувати як точку виявлення курсора.

Примітка

Користувацьке зображення має бути менше 256x256.

Використання скрипта

Створіть вузол 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)

Примітка

Перевірте Input.set_custom_mouse_cursor().

Демо-проект

Дізнайтеся більше, вивчивши цей демо-проект: https://github.com/guilhermefelipecgs/custom_hardware_cursor

Список курсорів

Як описано в класі Input (див. перерахунки CursorShape), є кілька курсорів мишки, які ви можете визначити. Які з них ви хочете використовувати, залежить від вашого випадку використання.