Personalizando el puntero del mouse

Puedes querer cambiar la apariencia del puntero del mouse en tu juego para ajustarse al diseño. Hay dos modos de hacer esto:

  1. Usando Ajustes del Proyecto
  2. Utilizando un script

Usar Ajustes del Proyecto es un modo simple, aunque limitado, de personalizar el puntero del mouse. El segundo modo da más opciones pero implica scripting.

Usando Ajustes del Proyecto

Abre Ajustes del Proyecto, ve a Display>Mouse Cursor. Allí verás Custom Image y Custom Image Hotspot.

../../_images/cursor_project_settings.png

Custom Image es la imagen que se desea asignar como puntero del mouse. Custom Hotspot es el punto en la imagen que quieres que se utilice como punto de detección del puntero.

Nota

La imagen personalizada debe ser menor a 256x256.

Utilizando un script

Crea un Node y anéxale el siguiente script.

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)
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);
}

Nota

Revisa Input.set_custom_mouse_cursor().

Proyecto de ejemplo

Aprende más estudiando este proyecto de ejemplo: https://github.com/guilhermefelipecgs/custom_hardware_cursor

Cursor list

Como se indica en Input class (see the CursorShape enum), hay múltiples punteros de mouse que se pueden definir. El que quieras usar dependerá de cada caso.