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.

Personalizzare il cursore del mouse

Si potrebbe voler modificare l'aspetto del cursore del mouse nel proprio gioco per adattarlo allo stile generale. Esistono due modi per personalizzare il cursore del mouse:

  1. Tramite le impostazioni del progetto. Questo è più semplice, ma più limitato.

  2. Tramite uno script. Questo è più personalizzabile, ma richiede programmazione.

Nota

Potresti visualizzare un cursore del mouse "software" nascondendo il cursore e spostando uno Sprite2D nella posizione del cursore attraverso un metodo _process(), ma questo aggiungerebbe almeno un frame di latenza rispetto a un cursore del mouse "hardware". Pertanto, si consiglia di utilizzare l'approccio descritto qui ogniqualvolta sia possibile.

Se si deve ricorrere all'approccio "software", è consigliabile aggiungere una fase di estrapolazione per visualizzare meglio l'input effettivo del mouse.

Utilizzare le impostazioni del progetto

Aprire le Impostazioni del progetto e andare su Schermo > Cursore del mouse. Ci saranno le impostazioni Immagine personalizzata, Punto focale dell'immagine personalizzata e Offset della posizione dei suggerimenti.

../../_images/cursor_project_settings.webp

Immagine personalizzata è l'immagine che si desidera impostare come cursore del mouse. Punto focale personalizzato è il punto dell'immagine che si desidera utilizzare come punto di rilevamento del cursore.

Avvertimento

L'immagine personalizzata deve avere una dimensione massima di 256×256 pixel. Per evitare problemi di rendering, si consigliano dimensioni di 128×128 pixel o inferiori.

Sulla piattaforma web, le dimensioni massime consentite per un'immagine del cursore sono 128×128.

Utilizzare uno script

Creare un nodo e allegare il seguente 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)

Vedi anche

Consultare la documentazione di Input.set_custom_mouse_cursor() per ulteriori informazioni sull'utilizzo e sulle limitazioni specifiche delle piattaforme.

Elenco dei cursori

È possibile definire diversi cursori del mouse, documentati nell'enumerazione Input.CursorShape. La scelta di quale utilizzare dipende dal caso d'uso.