UIDragDetector
*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à
Imposta l'icona del cursore da mostrare quando il mouse è attivato sul genitore di questo UIDragDetector .
Determina il comportamento di confinamento dell'oggetto UI trascinato quando il rilevatore di BoundingUI è impostato.
Istanza il cui area di confine definisce i confini di trascinamento per il genitore GuiObject .
Imposta l'icona del cursore da mostrare quando il mouse è posizionato sopra il genitore di questo UIDragDetector .
L'asse di trascinamento per l'istanza UIDragDetector quando DragStyle è impostata su Enum.UIDragDetectorDragStyle.TranslateLine .
Imposta il paradigma che definisce la relatività degli input/output da una funzione di trascinamento personalizzata.
La rotazione eseguita dall'attuale trascinamento.
Imposta il paradigma che definisce lo spazio di input/output da una funzione di trascinamento personalizzata.
Il paradigma utilizzato per generare la proposta di moto.
La traduzione eseguita dall'attuale trascinamento espressa in un valore UDim2 .
Se il UIDragDetector risponde all'input dell'utente.
Insieme a MinDragAngle, impedisce ai tentativi del rilevatore di generare movimento rotatorio.
Insieme a MinDragTranslation, impedisce ai tentativi del rilevatore di generare movimento lineare/planare.
Insieme a MaxDragAngle, impedisce ai tentativi del rilevatore di generare movimento rotatorio.
Insieme a MaxDragTranslation, impedisce ai tentativi del rilevatore di generare movimento lineare/planare.
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.
Il paradigma utilizzato per definire la risposta alla proposta di mozione.
Velocità di trascinamento massima per la traduzione.
Angolo massimo per secondo che il UIDragDetector può ruotare.
Enum.UIDragSpeedAxisMapping valore che determina le velocità di trascinamento della dimensione X / Y
Metodi
Aggiunge una funzione per modificare o limitare la proposta di moto.
Restituisce la posizione di riferimento UDim2 della posizione attuale di riferimento della trascinata.
Restituisce la rotazione di riferimento della trascinata attuale dell'elemento di riferimento.
Passa una funzione da utilizzare se e solo se DragStyle è impostata su Enum.UIDragDetectorDragStyle.Scriptable.
Eventi
Si attiva quando un utente continua a trascinare l'elemento UI dopo che DragStart è stato inizializzato.
Si attiva quando un utente smette di trascinare l'elemento UI.
Si attiva quando un utente inizia a trascinare l'elemento UI.
Proprietà
ActivatedCursorIcon
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.
BoundingBehavior
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
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
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
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.
DragRelativity
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
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.
DragSpace
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 .
DragStyle
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
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.
MaxDragAngle
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
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
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
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
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 .
ResponseStyle
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
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
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
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
L'ordine di priorità per le funzioni aggiunte tramite questo metodo. I valori più alti hanno la precedenza sui valori più bassi.
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.
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
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
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.
Restituzioni
Eventi
DragContinue
Si attiva quando un utente continua a trascinare l'elemento UI dopo che DragStart è stato inizializzato.
Parametri
DragEnd
Si attiva quando un utente smette di trascinare l'elemento UI.