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.

VirtualJoystick

Eredita: Control < CanvasItem < Node < Object

Un controllo di joystick virtuale per i dispositivi touchscreen.

Descrizione

Un controllo di joystick virtuale personalizzabile, progettato per i dispositivi touchscreen. Consente agli utenti di effettuare input direzionali trascinando una punta virtuale all'interno di un'area circolare definita.

Questo controllo può simulare azioni direzionali (vedi action_up, action_down, action_left e action_right), che vengono attivate quando il joystick viene mosso nelle direzioni corrispondenti.

Proprietà

StringName

action_down

&"ui_down"

StringName

action_left

&"ui_left"

StringName

action_right

&"ui_right"

StringName

action_up

&"ui_up"

float

clampzone_ratio

1.0

float

deadzone_ratio

0.0

Vector2

initial_offset_ratio

Vector2(0.5, 0.5)

JoystickMode

joystick_mode

0

float

joystick_size

100.0

float

tip_size

50.0

VisibilityMode

visibility_mode

0

Proprietà del tema

StyleBox

normal_joystick

StyleBox

normal_tip

StyleBox

pressed_joystick

StyleBox

pressed_tip


Segnali

flick_canceled() 🔗

Emesso quando la punta rientra nella zona morta dopo esserne stata al di fuori.


flicked(input_vector: Vector2) 🔗

Emesso quando la punta si muove fuori dalla zona morta e il joystick viene rilasciato. input_vector contiene l'ultima direzione e intensità dell'input prima del rilascio. La sua lunghezza è compresa tra 0.0 e 1.0.


pressed() 🔗

Emesso quando il joystick viene premuto.


released(input_vector: Vector2) 🔗

Emesso quando il joystick viene rilasciato. input_vector è la direzione e l'intensità finali dell'input, con una lunghezza compresa tra 0.0 e 1.0.


tapped() 🔗

Emesso quando il joystick viene rilasciato senza muovere la punta.


Enumerazioni

enum JoystickMode: 🔗

JoystickMode JOYSTICK_FIXED = 0

Il joystick non si muove.

JoystickMode JOYSTICK_DYNAMIC = 1

Il joystick si muove nella posizione iniziale del tocco fin quando rimane entro i suoi limiti. Torna nella sua posizione originale quando viene rilasciato.

JoystickMode JOYSTICK_FOLLOWING = 2

Il joystick si muove nella posizione iniziale del tocco fin quando rimane entro i suoi limiti. Seguirà l'input del tocco se supera i limiti del joystick. Torna nella sua posizione originale quando viene rilasciato.


enum VisibilityMode: 🔗

VisibilityMode VISIBILITY_ALWAYS = 0

Il joystick è sempre visibile.

VisibilityMode VISIBILITY_WHEN_TOUCHED = 1

Il joystick è visibile solo quando viene toccato.


Descrizioni delle proprietà

StringName action_down = &"ui_down" 🔗

L'azione da attivare quando il joystick viene spostato in basso.


StringName action_left = &"ui_left" 🔗

L'azione da attivare quando il joystick viene spostato a sinistra.


StringName action_right = &"ui_right" 🔗

L'azione da attivare quando il joystick viene spostato a destra.


StringName action_up = &"ui_up" 🔗

L'azione da attivare quando il joystick viene spostato in alto.


float clampzone_ratio = 1.0 🔗

  • void set_clampzone_ratio(value: float)

  • float get_clampzone_ratio()

Il moltiplicatore applicato al raggio del joystick che definisce la zona di bloccaggio.

Questa zona limita quanto lontano la punta del joystick si può muovere dal suo centro prima che venga bloccata.

Un valore di 1.0 significa che la punta può muoversi fino al bordo dell'area visibile del joystick.

Nella modalità JOYSTICK_FOLLOWING, questo raggio determina anche quanto lontano il dito si può muovere prima che la base del joystick inizi a seguire l'input tattile.


float deadzone_ratio = 0.0 🔗

  • void set_deadzone_ratio(value: float)

  • float get_deadzone_ratio()

Il rapporto tra le dimensioni del joystick e la sua zona morta. La punta del joystick deve muoversi oltre questo rapporto prima di essere considerata attiva.

Questa zona morta è applicata prima di attivare le azioni di input e influenza il vettore di input del joystick e tutti i segnali correlati.

Si noti che le azioni di input possono anche definire le proprie zone morte nella InputMap. Se entrambe sono impostate, viene applicata prima la zona morta del joystick, seguita dalla zona morta dell'azione.

Come predefinito, questo valore è 0.0, il che significa che il joystick non applica la propria zona morta e si basa interamente sulle zone morte delle azioni definite nella InputMap.


Vector2 initial_offset_ratio = Vector2(0.5, 0.5) 🔗

  • void set_initial_offset_ratio(value: Vector2)

  • Vector2 get_initial_offset_ratio()

La posizione iniziale del joystick, in rapporto alle dimensioni del controllo. (0, 0) è in alto a sinistra e (1, 1) è in basso a destra.


JoystickMode joystick_mode = 0 🔗

La modalità del joystick da utilizzare.


float joystick_size = 100.0 🔗

  • void set_joystick_size(value: float)

  • float get_joystick_size()

La dimensione del joystick in pixel.


float tip_size = 50.0 🔗

  • void set_tip_size(value: float)

  • float get_tip_size()

La dimensione della punta del joystick in pixel.


VisibilityMode visibility_mode = 0 🔗

La modalità di visibilità da utilizzare.


Descrizioni delle proprietà del tema

StyleBox normal_joystick 🔗

StyleBox della base del joystick.


StyleBox normal_tip 🔗

StyleBox della punta del joystick.


StyleBox pressed_joystick 🔗

StyleBox della base del joystick alla pressione.


StyleBox pressed_tip 🔗

StyleBox della punta del joystick alla pressione.