UIDragDetector

Visualizza obsoleti

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

L'istanza UIDragDetector facilita e incoraggia l'interazione con gli elementi dell'interfaccia utente 2D in un'esperienza, come scivoli e rotatori.Le caratteristiche principali includono:

  • Posiziona un UIDragDetector sotto qualsiasi GuiObject istanza per renderla trascinabile attraverso tutti gli input senza una singola linea di codice.

  • Scegli tra diverse opzioni DragStyle , definisci come l'oggetto risponde alla moto attraverso ResponseStyle , e applica opzionalmente limiti di asse, movimento o confini di trascinamento.

  • Gli script possono rispondere alla manipolazione di oggetti trascinati per guidare le risposte logiche, come l'aggiustamento delle impostazioni.

  • lavorare in Studio fintanto che non sei non utilizzando gli strumenti Seleziona , Sposta , Scala o Ruota , né alcuni plugin o strumenti dell'editor di Studio.

Sommario

Proprietà

Metodi

Eventi

Proprietà

ActivatedCursorIcon

ContentId
Lettura Parallela

Imposta l'icona del cursore da mostrare quando il mouse è attivato sul genitore di questo UIDragDetector .Se questa proprietà è lasciata vuota, il rilevatore utilizzerà l'icona predefinita.

Per cambiare l'icona del cursore attivato, imposta questa proprietà sull'ID risorsa dell'immagine che vorresti utilizzare.

Lettura Parallela

Determina il comportamento di confinamento dell'oggetto UI trascinato quando il rilevatore di BoundingUI è impostato. Vedi Enum.UIDragDetectorBoundingBehavior per i dettagli sul comportamento di ciascuna impostazione.

BoundingUI

Lettura Parallela

Quando è impostata, l'istanza UIDragDetector non consentirà ai confini del genitore GuiObject di essere trascinati al di fuori dei confini dell'istanza BoundingUI .

Nota che se una parte del genitore GuiObject è al di fuori del limite BoundingUI , la posizione di input iniziale al trascinamento e la sua posizione relativa durante il trascinamento verranno utilizzate per la rilevazione dei confini fino a quando l'interezza dell'oggetto trascinato non è all'interno dei confini, dopo di cui l'oggetto verrà limitato all'interno dei confini.

CursorIcon

ContentId
Lettura Parallela

Imposta l'icona del cursore da mostrare quando il mouse è posizionato sopra il genitore di questo UIDragDetector .Se questa proprietà è lasciata vuota, il rilevatore utilizzerà l'icona predefinita.

Per cambiare l'icona del cursore, imposta questa proprietà sull'ID risorsa dell'immagine che vorresti utilizzare.

DragAxis

Lettura Parallela

Vector2 valore che definisce l'asse di movimento per l'oggetto trascinato quando DragStyle è impostato su Enum.UIDragDetectorDragStyle.TranslateLine .L'asse è definita nello spazio locale del UIDragDetector a meno che ReferenceUIInstance non sia definita, in tal caso l'asse è definita nello spazio locale di quell'istanza.

Lettura Parallela

Si applica solo se una funzione di trascinamento personalizzata viene registrata attraverso SetDragStyleFunction() o AddConstraintFunction() .Imposta il paradigma che definisce la relatività degli input/output della funzione registrata.

Ad esempio, il ritorno di un da una funzione registrata con questa proprietà impostata su sposterà il genitore del rilevatore in nel rilevatore designato , mentre il ritorno dello stesso con questa proprietà impostata su sposterà il genitore del rilevatore in nel rilevatore designato .

DragRotation

Lettura Parallela

La rotazione eseguita dall'attuale trascinamento.Questo valore è definito in gradi rispetto allo spazio locale del UIDragDetector a meno che ReferenceUIInstance non sia definito, in cui la rotazione è definita nello spazio locale di quell'istanza e dal suo asse positivo X .

Questa proprietà può essere cambiata mentre non c'è alcun trascinamento attivo per ruotare l'oggetto trascinato.

Lettura Parallela

Si applica solo se una funzione di trascinamento personalizzata viene registrata attraverso SetDragStyleFunction() o AddConstraintFunction() .Imposta il paradigma che definisce lo spazio degli input/output della funzione registrata.

Ad esempio, se il genitore del rilevatore GuiObject è un figlio di un genitore GuiObject che è stato ruotato:

  • Il ritorno di un da una funzione registrata con questa proprietà impostata su sposterà il genitore del rilevatore a destra di 1 pixel nello spazio locale interessato dalla rotazione del suo genitore.

  • Il ritorno di un da una funzione registrata con questa proprietà impostata su sposterà il genitore del rilevatore a destra di 1 pixel nello spazio del .

Lettura Parallela

Il paradigma utilizzato per generare la proposta di moto, dato uno stream di veicoli di posizione di input. Vedi Enum.UIDragDetectorDragStyle per le opzioni.

DragUDim2

Lettura Parallela

La traduzione eseguita dall'attuale trascinamento espressa in un valore UDim2 .La traduzione viene eseguita attraverso Offset o Scale modifiche di valore a seconda del valore DragRelativity , e è relativa allo spazio locale del rilevatore a meno che non venga definito un ReferenceUIInstance .

Questa proprietà può essere cambiata mentre non c'è alcun trascinamento attivo per spostare l'oggetto trascinato.

Enabled

Lettura Parallela

Se true , il UIDragDetector risponde all'input dell'utente; se false , non lo fa.

MaxDragAngle

Lettura Parallela

Se questa proprietà è maggiore di MinDragAngle , la rotazione sarà limitata all'intervallo di MinDragAngle e MaxDragAngle .I valori positivi impediscono la rotazione in senso orario mentre i valori negativi impediscono la rotazione antioraria.

Questa non è una restrizione; impedisce semplicemente ai tentativi del rilevatore di generare movimento per rimanere nei limiti.Vedi AddConstraintFunction() per aggiungere una restrizione personalizzata a un trascinamento.

Rilevante solo se DragStyle è Enum.UIDragDetectorDragStyle.Rotate.

MaxDragTranslation

Lettura Parallela

Se i corrispondenti Offset e/o Scale valori sono maggiori di quelli di MinDragTranslation in tutte le dimensioni, la traduzione lineare/planare sarà limitata all'intervallo di MinDragTranslation e MaxDragTranslation .

Questa non è una restrizione; impedisce semplicemente ai tentativi del rilevatore di generare movimento per rimanere nei limiti.Vedi AddConstraintFunction() per aggiungere una restrizione personalizzata a un trascinamento.

Rilevante solo se DragStyle è Enum.UIDragDetectorDragStyle.TranslateLine o Enum.UIDragDetectorDragStyle.TranslatePlane .

MinDragAngle

Lettura Parallela

Se questa proprietà è inferiore a MaxDragAngle, la rotazione sarà limitata all'intervallo di MinDragAngle e MaxDragAngle .I valori positivi impediscono la rotazione in senso orario mentre i valori negativi impediscono la rotazione antioraria.

Questa non è una restrizione; impedisce semplicemente ai tentativi del rilevatore di generare movimento per rimanere nei limiti.Vedi AddConstraintFunction() per aggiungere una restrizione personalizzata a un trascinamento.

Rilevante solo se DragStyle è Enum.UIDragDetectorDragStyle.Rotate.

MinDragTranslation

Lettura Parallela

Se i corrispondenti Offset e/o Scale valori sono inferiori a quelli di MaxDragTranslation in tutte le dimensioni, la traduzione lineare/planare sarà limitata all'intervallo di MinDragTranslation e MaxDragTranslation .

Questa non è una restrizione; impedisce semplicemente ai tentativi del rilevatore di generare movimento per rimanere nei limiti.Vedi AddConstraintFunction() per aggiungere una restrizione personalizzata a un trascinamento.

Rilevante solo se DragStyle è Enum.UIDragDetectorDragStyle.TranslateLine o Enum.UIDragDetectorDragStyle.TranslatePlane .

ReferenceUIInstance

Lettura Parallela

Un'istanza GuiObject di cui lo spazio locale e la posizione del centro assoluto sono lo spazio di riferimento e l'origine per il rilevatore.Impostare questo riferimento influenza proprietà come DragUDim2 , DragRotation e il comportamento di DragAxis .

Lettura Parallela

Una volta calcolata e potenzialmente limitata la proposta mozione, questo paradigma viene utilizzato per determinare come spostare (o non spostare) il GuiObject interessato dal UIDragDetector .Vedi Enum.UIDragDetectorResponseStyle per le opzioni.

SelectionModeDragSpeed

Lettura Parallela

Definisce la velocità di trascinamento massima per la traduzione come una combinazione di e del primo antenato o a cui appartiene.Questo valore deve essere positivo e qualsiasi valore inferiore a 0 verrà limitato a 0 .

SelectionModeRotateSpeed

Lettura Parallela

Definisce l'angolo massimo per secondo al quale il UIDragDetector può ruotare.Questo valore deve essere positivo e qualsiasi valore inferiore a 0 verrà limitato a 0 .

UIDragSpeedAxisMapping

Lettura Parallela

Enum.UIDragSpeedAxisMapping valore che determina le velocità di trascinamento della dimensione X / Y

Metodi

AddConstraintFunction

Aggiunge una funzione per modificare o limitare la proposta di moto.La funzione riceve un input UDim2 (posizione) e float (rotazione) di proposta moto e restituisce un UDim2 e float di modificata o non modificata moto.Puoi aggiungere più funzioni che verranno chiamate in ordine da priority , passando i risultati attraverso una catena.

L'input è espresso nello spazio definito dalla proprietà DragSpace , sia come delta o la posizione/rotazione finale desiderata in base alla proprietà DragRelativity.L'output deve essere espresso nello stesso spazio e relatività, a meno che non venga sovrascritto dal ritorno di un valore specificato Enum.UIDragDetectorDragRelativity e Enum.UIDragDetectorDragSpace come terzo e quarto valore di restituzione.

Per rimuovere una funzione di restrizione aggiunta, chiama Disconnect() sull'oggetto connessione restituito.

Parametri

priority: number

L'ordine di priorità per le funzioni aggiunte tramite questo metodo. I valori più alti hanno la precedenza sui valori più bassi.

Valore predefinito: ""
function: function

Funzione per modificare o limitare la proposta di moto.Questa funzione riceve in input UDim2 e float di proposta moto e restituisce un UDim2 e float di modificata o non modificata moto.Può opzionalmente restituire un Enum.UIDragDetectorDragRelativity e Enum.UIDragDetectorDragSpace come terzo e quarto valori di restituzione come sostituzioni di output.

Valore predefinito: ""

Restituzioni

Usa questo oggetto di connessione per rimuovere la funzione di restrizione.

GetReferencePosition

Quando non viene impostata alcuna ReferenceUIInstance, questa funzione restituisce la posizione UDim2 del genitore immediato dell'oggetto trascinato GuiObject (se ne esiste uno), o la posizione UDim2 dell'oggetto trascinato.

Quando un ReferenceUIInstance è impostato, questa funzione restituisce la posizione UDim2 di quell'istanza di riferimento.


Restituzioni

UDim2 posizione dell'elemento di riferimento dell'attuale trascinamento.

GetReferenceRotation

Quando non viene impostata alcuna ReferenceUIInstance, questa funzione restituisce la rotazione dell'immediato genitore dell'oggetto trascinato GuiObject (se ne esiste uno), o la rotazione dell'oggetto trascinato.

Quando un ReferenceUIInstance è impostato, questa funzione restituisce la rotazione di quell'istanza di riferimento.


Restituzioni

Rotazione dell'elemento di riferimento dell'attuale trascinamento.

SetDragStyleFunction

()

Passa una funzione da utilizzare se e solo se DragStyle è impostata su Enum.UIDragDetectorDragStyle.Scriptable.La funzione data riceve la posizione dello spazio sullo schermo del segnale con il tipo Vector2 , e restituisce una posizione UDim2 (posizione) e un galleggiante (rotazione) che contiene la mossa desiderata del trascinamento.Lo spazio dei valori di ritorno e la relatività della moto sono determinati dalle proprietà e , a meno che non vengano sovrascritte dal restituzione di un valore di ritorno specificato come terzo e quarto valore di ritorno.

Se la funzione restituisce nil, l'oggetto non verrà spostato.Questo è utile se lo script non ha ancora raccolto tutte le informazioni di cui ha bisogno per dare la risposta corretta, o in casi temporanei in cui vuoi che l'oggetto rimanga dove è.

Parametri

function: function

Funzione per il monitoraggio di DragContinue.Questa funzione riceve la posizione dell'input dello spazio sullo schermo del segnale e restituisce un UDim2 e float che contiene la mossa desiderata del trascinamento nello spazio e nella relatività desiderata.Se questa funzione restituisce nil , l'oggetto non verrà spostato.

Valore predefinito: ""

Restituzioni

()

Eventi

DragContinue

Si attiva quando un utente continua a trascinare l'elemento UI dopo che DragStart è stato inizializzato.

Parametri

inputPosition: Vector2

Vector2 rappresentando la posizione di input attuale.


DragEnd

Si attiva quando un utente smette di trascinare l'elemento UI.

Parametri

inputPosition: Vector2

Vector2 rappresentando la posizione di input attuale.


DragStart

Si attiva quando un utente inizia a trascinare l'elemento UI.

Parametri

inputPosition: Vector2

Vector2 rappresentando la posizione di input attuale.