UIDragDetector
*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.
Die UIDragDetector Instanz erleichtert und ermutigt die Interaktion mit 2D-Benutzeroberflächenelementen in einem Erlebnis, wie z. B. Schieber und Spinner. Key-Features beinhalten:
Platieren Sie einen UIDragDetector unter einer beliebigen GuiObject Instanz, um ihn über alle Eingänge ohne eine einzige Zeile Codeszu ziehen.
Wählen Sie aus mehreren Optionen DragStyle , definieren Sie, wie das Objekt auf Bewegung reagiert, via ResponseStyle und optionale Anwendung von Achsen, Bewegungslimits oder Ziehhäufigkeiten.
Skripte können auf die Manipulation von ziehbaren Objekten reagieren, um logische Antworten zu führen, z. B. Einstellungen anzupassen.
UIDragDetectors arbeiten in Studio, solange Sie nicht mit dem Auswählen , Bewegen , 0> Skalieren 0> oder 3> Drehen 3> -Werkzeugen arbeiten, oder bestimmte Plugins oder Studio-Tools UIDragDetectors6>-Editor-Tools.
Zusammenfassung
Eigenschaften
Setzt das Cursor-Symbol an, wenn die Maus über dem Elternteil dieses UIDragDetector aktiviert ist.
Bestimmt das Verhalten des Ziehpunktes des Dragged UI-Objekts, wenn der Detektor의 BoundingUI festlegenist.
Instanz, deren Kernbereich die Ziehpunkte für das übergeordnete GuiObject definiert.
Setzt das Cursor-Symbol an, wenn die Maus über dem Elternteil dieses UIDragDetector liegt.
Die Ziehachse für die UIDragDetector Instanz, wenn DragStyle auf Enum.UIDragDetectorDragStyle.TranslateLine eingestellt ist.
Setzt das Paradigma, das die Relativität von Eingängen/Ausgängen von einer benutzerdefinierten Drag-Funktion definiert.
DieRotation, die von der aktuellen Ziehung ausgeführt wird.
Setzt das Paradigma, das die Eingabefläche/Ausgabe eines benutzerdefinierten Drag-Funktions definiert.
Das Paradigma, das für die Generierung des vorgeschlagenen Bewegung verwendet wird.
Die Übersetzung, die von der aktuellen Ziehung in einem UDim2 Wert ausgedrückt wird.
Ob der UIDragDetector auf Benutzer-Eingaben reagiert.
Zusätzlich zu MinDragAngle , behindert die Versuche des Detektors, rotationäre Bewegung zu erzeugen.
Zusätzlich zu MinDragTranslation , behindert die Versuche des Detektors, lineare/planeare Bewegungen zu erzeugen.
Zusätzlich zu MaxDragAngle , behindert die Versuche des Detektors, rotationäre Bewegung zu erzeugen.
Zusätzlich zu MaxDragTranslation , behindert die Versuche des Detectors, lineare/planeare Bewegungen zu generieren.
Eine GuiObject Instanz, deren lokaler Speicher und absoluter Mitte-Position der Referenzraum und Herkunft für den Detektor ist.
Das Paradigma, das für die Antwort auf vorgeschlagene Bewegung verwendet wird.
Maximale Ziehgeschwindigkeit für die Übersetzung.
Maximaler Winkel pro Sekunde kann der UIDragDetector drehen.
Enum.UIDragSpeedAxisMapping Wert, der die X / Y Dimension-Ziehgeschwindigkeiten bestimmt.
Methoden
Fügt eine Funktion hinzu, um den vorgeschlagenen Bewegung zu modifizieren oder einzuschränken.
Zurückgibt die Position der Verweisung UDim2 der aktuellen Zieh-Referenz.
Kehrt die ReferenzRotation des aktuellen ZiehungsElements zurück.
Überträgt eine Funktion, die verwendet wird, wenn und nur, wenn DragStyle auf Enum.UIDragDetectorDragStyle.Scriptable eingestellt ist.
Ereignisse
Feuert, wenn ein Benutzer nach dem Aktivieren von DragStart weiterhin die UI-Elemente zieht.
Feuert, wenn ein Benutzer die UI-Elemente nicht mehr zieht.
Feuert, wenn ein Benutzer beginnt, die UI-Element zu ziehen.
Eigenschaften
ActivatedCursorIcon
Setzt das Kursor-Symbol an, wenn die Maus über dem Elternteil dieses UIDragDetector aktiviert ist. Wenn diese Eigenschaft leer bleibt, verwendet der Detektor das Standard-Symbol.
Um das aktivierte Kopf-Symbol zu ändern, setzen Sie diese Eigenschaft auf die Asset-ID des Bildes, das Sie verwenden möchten.
BoundingBehavior
Bestimmt das Verhalten der kopierten UI-Objekt, wenn das Fadenkreuz-BoundingUI festlegenist. Siehe Enum.UIDragDetectorBoundingBehavior für Details zu jedem Verhalten der Einstellung.
BoundingUI
Wenn festlegen, wird die UIDragDetector Instanz nicht erlauben, dass die Grenzen des Elternteils GuiObject außerhalb der Grenzen der BoundingUI Instanz ziehen.
Beachten Sie, dass wenn ein Teil des Elternteils GuiObject außerhalb der BoundingUI -Granite ist, wird die ursprüngliche Eingabe Position bei der Drag-Start und ihre relative Position während der Drag verwendet, um die Bounding-Erkennung zu verwenden, bis die gesamte Drag-Objekt innerhalb der Grenzen ist, nachdem das Objekt innerhalb der Grenzen ist.
CursorIcon
Setzt das Cursor-Symbol an, wenn die Maus über der übergeordneten Version dieses UIDragDetector liegt. Wenn diese Eigenschaft leer bleibt, verwendet der Detektor das Standard-Symbol.
Um das Cursor-Symbol zu ändern, setzen Sie diese Eigenschaft auf die Asset-ID des Bildes, das Sie verwenden möchten.
DragAxis
Vector2 Wert, der die Achse des Bewegungsfalls für das gedragierte Objekt definiert, wenn DragStyle auf Enum.UIDragDetectorDragStyle.TranslateLine eingestellt ist. Die Achse wird im lok
DragRelativity
Gilt nur, wenn eine benutzerdefinierte Ziehfunktion über SetDragStyleFunction() oder AddConstraintFunction() registriert ist. Setzt das Paradigma, das die Relativität der eingegebenen/ausgegebenen Eingaben/Outputs der registrierten Funktion definiert.
Zum
DragRotation
DieRotation, die von der aktuellen Ziehung ausgeführt wird. Dieser Wert wird in Grad bezogen auf den lokalen Raum des UIDragDetector definiert, es sei denn, ReferenceUIInstance ist definiert, in dem Fall wird dieRotation in dem lokalen Raum dieses Instanzes und von seiner positiven X-Achse definiert.
Diese Eigenschaft kann geändert werden, während kein aktives Ziehen zum Drehen des Dragged Objekts vorhanden ist.
DragSpace
Gilt nur, wenn eine benutzerdefinierte Ziehfunktion über SetDragStyleFunction() oder AddConstraintFunction() registriert ist. Setzt das Paradigma, das den Speicherbereich der eingegebenen/ausgegebenen Eingaben/Outputs der registrierten Funktion definiert.
Zum Beispiel, wenn der Elternteil des Detektors GuiObject ist, ist das ein Kind von einem Elternteil GuiObject, der gedreht ist:
Die Rückgabe einer UDim2.fromOffset(1, 0) von einer registrierten Funktion mit diesem Eigenschaftsset auf Enum.UIDragDetectorDragSpace.Parent bewegt den Elternteil des Detektors um 1 Pixel im lokalen Raum, der von der Rotation seines übergeordnetes Teilbetroffen ist.
Die Rückgabe einer UDim2.fromOffset(1, 0) von einer registrierten Funktion mit diesem Eigenschaftsset auf Enum.UIDragDetectorDragSpace.LayerCollector bewegt den Elternteil des Detektors um 1 Pixel in den Weltraum des GuiObject .
DragStyle
Das Paradigma, das verwendet wird, um vorgeschlagene Bewegungen zu generieren, basiert auf einer Reihe von Eingabe-Position-Vektoren. Siehe Enum.UIDragDetectorDragStyle für Optionen.
DragUDim2
Die Übersetzung wird durch die aktuelle Ziehung in einem UDim2-Wert ausgeführt. Die Übersetzung erfolgt durch Offset oder Scale-Wertä
Diese Eigenschaft kann geändert werden, während kein aktiver Zug zum Ziehen des Objekts aktiv ist.
MaxDragAngle
Wenn dieser Eigenschaft größer ist als MinDragAngle , wird dieRotation innerhalb der Reichweite von MinDragAngle und MaxDragAngle eingeklemmt. Positive Werte behindern die Clockwise-Rotation, während negative Werte die Counterclockwise-Rotation behindern.
Dies ist keine Beschränkung; es behindert einfach die Versuche des Detektors, Bewegung zu generieren, um innerhalb von Grenzen zu bleiben. Siehe AddConstraintFunction(), um dem Drag ein benutzerdefiniertes约束 hinzuzufügen.
Nur relevant, wenn DragStyle ist Enum.UIDragDetectorDragStyle.Rotate .
MaxDragTranslation
Wenn die entsprechenden Offset und/oder Scale Werte größer sind als die von MinDragTranslation in allen Dimensionen, wird die lineare/plane
Dies ist keine Beschränkung; es behindert einfach die Versuche des Detektors, Bewegung zu generieren, um innerhalb von Grenzen zu bleiben. Siehe AddConstraintFunction(), um dem Drag ein benutzerdefiniertes约束 hinzuzufügen.
Nur relevant, wenn DragStyle ist Enum.UIDragDetectorDragStyle.TranslateLine oder Enum.UIDragDetectorDragStyle.TranslatePlane .
MinDragAngle
Wenn diese Eigenschaft weniger als MaxDragAngle ist, wird dieRotation innerhalb der Reichweite von MinDragAngle und MaxDragAngle eingeklemmt. Positive Werte behindern die Clockwise-Rotation, während negative Werte die Counterclockwise-Rotation behindern.
Dies ist keine Beschränkung; es behindert einfach die Versuche des Detektors, Bewegung zu generieren, um innerhalb von Grenzen zu bleiben. Siehe AddConstraintFunction(), um dem Drag ein benutzerdefiniertes约束 hinzuzufügen.
Nur relevant, wenn DragStyle ist Enum.UIDragDetectorDragStyle.Rotate .
MinDragTranslation
Wenn die entsprechenden Offset und/oder Scale Werte kleiner sind als die von MaxDragTranslation in allen Dimensionen, wird die lineare/plane
Dies ist keine Beschränkung; es behindert einfach die Versuche des Detektors, Bewegung zu generieren, um innerhalb von Grenzen zu bleiben. Siehe AddConstraintFunction(), um dem Drag ein benutzerdefiniertes约束 hinzuzufügen.
Nur relevant, wenn DragStyle ist Enum.UIDragDetectorDragStyle.TranslateLine oder Enum.UIDragDetectorDragStyle.TranslatePlane .
ReferenceUIInstance
Eine GuiObject Instanz, deren lokaler Speicher und absoluter Zentrum position der Verweisraum und der Ziel-Generator ist. Wenn Sie diese Instanz einstellen, beeinflussen Eigenschaften wie DragUDim2 , DragRotation und das Verhalten von
ResponseStyle
Sobald der vorgeschlagene Bewegung berechnet und möglicherweise eingeschränkt ist, wird dieses Paradigma verwendet, um zu bestimmen, wie sich der GuiObject , der von dem UIDragDetector betroffen ist, bewegt (oder nicht Verschiebungswerkzeug). Siehe Enum.UIDragDetectorResponseStyle Class.GuiObject 1>Class.GuiObject1> für Optionen.
SelectionModeDragSpeed
Definiert die maximale Drag-Geschwindigkeit für die Übersetzung als Kombination von Scale und Offset des ersten Vorfahrens ScreenGui oder 1> Class.Surface
SelectionModeRotateSpeed
Definiert den maximalen Winkel pro Sekunde, bei dem der UIDragDetector drehen kann. Dieser Wert muss positiv sein, und alle Werte unter 0 werden auf 0 geklemmt.
UIDragSpeedAxisMapping
Enum.UIDragSpeedAxisMapping Wert, der die X / Y Dimension-Ziehgeschwindigkeiten bestimmt.
Methoden
AddConstraintFunction
Fügt eine Funktion hinzu, um den vorgeschlagenen Bewegung zu modifizieren oder einzuschränken. Die Funktion nimmt eine Eingabe UDim2 (Position) und schwebt (Rotation) der vorgeschlagenen Bewegung und gibt eine Datatype.UDim2 und schwebt der modifizierten oder unmodif
Die Eingabe wird in den Space definiert, der von der DragSpace Eigenschaften, als Delta oder die endgültige gewünschte Position/Rotation basierend auf der DragRelativity Eigenschaften, egal als Delta
Um eine hinzugefügte Einschränkung aufzuheben, rufe Disconnect() auf das zurückgegebene Objekt.
Parameter
Die Reihenfolge der Priorität für Funktionen, die über diesen Methoden hinzugefügt wurden. Höhere Werte haben die Vorrang vor niedrigeren Werten.
Rückgaben
Verwenden Sie dieses Verbindungsobjekt, um die Einschränkungsfunktion zu entfernen.
GetReferencePosition
Wenn keine <a href="/reference/engine/datatypes">Class.UI拖动对象的直接父亲 </a> festlegenist, gibt diese Funktion die Position <e>Datatype.UDim2</e> des gedrückten Objekts zurück, wenn es vorhanden ist, oder die Position <a href="/reference/engine/datatypes">Class.GuiObject</a> (wenn sie vorhanden ist).
Wenn ein ReferenceUIInstance festlegenist, gibt diese Funktion die Position UDim2 von dieser Instanzzurück.
Rückgaben
GetReferenceRotation
Wenn keine ReferenceUIInstance festlegenist, gibt diese Funktion die Rotation des unmittelbaren Vorgängers des Dragged Objekts zurück, GuiObject (wenn einer vorhanden ist), oder die Rotation des Dragged Objekts.
Wenn ein ReferenceUIInstance festlegenist, gibt diese Funktion dieRotation dieses Instanzzurück.
Rückgaben
Drehung des Verweisungselements der aktuellen Ziehung.
SetDragStyleFunction
Gibt eine Funktion zurück, die verwendet wird, wenn und nur wenn DragStyle auf Class.UI
Wenn die Funktion nil zurückgibt, wird das Objekt nicht bewegt. Dies ist nützlich, wenn das Skript noch keine alle Informationen gesammelt hat, die es braucht, um die richtige Antwort zu geben, oder in vorübergehenden Fällen, in denen Sie das Objekt so lassen möchten, wie es ist.
Parameter
Funktion zum Überwachen von DragContinue Signalen. Diese Funktion erhält die Eingabe des Bildschirms des Singals und gibt eine UDim2 und schwimmt zurück, die die gewünschte Bewegung des Drag in der gewünschten Ebene und Relativität enthält. Wenn diese Funktion nil zurückgibt, wird das Objekt nicht beweg
Rückgaben
Ereignisse
DragContinue
Feuert, wenn ein Benutzer nach dem Aktivieren von DragStart weiterhin die UI-Elemente zieht.
Parameter
DragEnd
Feuert, wenn ein Benutzer die UI-Elemente nicht mehr zieht.