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 fördert die Interaktion mit 2D-Benutzeroberflächenelementen in einem Erlebnis, wie z. B. Schieber und Dreher.Die wichtigsten Funktionen umfassen:
Platziere ein UIDragDetector unter jeder GuiObject Instanz, um sie über alle Eingänge hinweg ziehbar zu machen, ohne eine einzige Zeile Codes.
Wählen Sie aus mehreren DragStyle Optionen, definieren Sie, wie das Objekt auf Bewegung durch ResponseStyle reagiert, und wenden Sie optional Achsen, Bewegungslimiten oder Ziehgrenzen an.
Skripte können auf die Manipulation von verschleppten Objekten reagieren, um logische Antworten zu treiben, wie das Anpassen von Einstellungen.
Arbeite in Studio, solange du nicht die Werkzeuge Auswählen, Bewegen, Skalieren oder Drehen verwendest, oder bestimmte Plugins oder Studio-UI-Editor-Werkzeuge.
Zusammenfassung
Eigenschaften
Setzt das Cursor-Symbol so ein, dass es angezeigt wird, wenn die Maus über dem Elternteil dieser UIDragDetector aktiviert ist.
Bestimmt das Bindungsverhalten des angezogenen UI-Objekts, wenn der Detektor BoundingUI festlegenist.
Instanz, deren Grenzbereich die Zieggrenzen für den Eltern GuiObject definiert.
Setzt das Cursor-Symbol so ein, dass es angezeigt wird, wenn die Maus über dem Elternteil dieser UIDragDetector positioniert ist.
Die Ziehachse für die UIDragDetector Instanz, wenn DragStyle auf Enum.UIDragDetectorDragStyle.TranslateLine gesetzt ist.
Legt das Paradigma fest, das die Relativität der Eingänge/Ausgänge von einer benutzerdefinierten Drag-Funktion definiert.
Die Rotation, die vom aktuellen Ziehen durchgeführt wird.
Legt das Paradigma fest, das den Raum von Eingängen/Ausgängen aus einer benutzerdefinierten Drag-Funktion definiert.
Das Paradigma, das verwendet wird, um vorgeschlagene Bewegung zu generieren.
Die Übersetzung, die vom aktuellen Ziehen ausgedrückt wird, in einem UDim2 Wert.
Ob die UIDragDetector auf die Eingabe des Benutzers antwortet.
Zusammen mit MinDragAngle verhindert es die Versuche des Detektors, eine rotierende Bewegung zu generieren.
Zusammen mit MinDragTranslation verhindert es die Versuche des Detektors, lineare/planare Bewegung zu generieren.
Zusammen mit MaxDragAngle verhindert es die Versuche des Detektors, eine rotierende Bewegung zu generieren.
Zusammen mit MaxDragTranslation verhindert es die Versuche des Detektors, lineare/planare Bewegung zu generieren.
Eine GuiObject, deren lokaler Raum und absolute Zentrumsposition der Referenzraum und Ursprung für den Detektor ist.
Das Paradigma, das zur Definition der Antwort auf einen Vorschlag verwendet wird.
Maximale Ziehgeschwindigkeit für die Übersetzung.
Maximaler Winkel pro Sekunde, um den sich die UIDragDetector drehen kann.
Enum.UIDragSpeedAxisMapping Wert, der die X / Y Dimensionsziehgeschwindigkeiten bestimmt.
Methoden
Fügt eine Funktion hinzu, um vorgeschlagene Bewegung zu modifizieren oder einzuschränken.
Gibt die Referenz UDim2 Position der aktuellen Drag-Referenzursprung zurück.
Gibt die Referenzrotierung des Referenz元 des aktuellen Zugs zurück.
Überlässt eine Funktion, die verwendet wird, wenn und nur wenn DragStyle auf Enum.UIDragDetectorDragStyle.Scriptable gesetzt ist.
Ereignisse
Feuert, wenn ein Benutzer das UI-Element weiter zieht, nachdem DragStart initiiert wurde.
Feuert, wenn ein Benutzer aufhört, das UI-Element zu ziehen.
Feuert, wenn ein Benutzer beginnt, das UI-Element zu ziehen.
Eigenschaften
ActivatedCursorIcon
Setzt das Cursor-Symbol so ein, dass es angezeigt wird, wenn die Maus über dem Elternteil dieser UIDragDetector aktiviert ist.Wenn diese Eigenschaft leer gelassen wird, verwendet der Detektor das Standard-Symbol.
Um das aktivierte Symbolzu ändern, legen Sie diese Eigenschaft auf die Asset-ID des Bildes fest, das Sie verwenden möchten.
BoundingBehavior
Bestimmt das Bindungsverhalten des angezogenen UI-Objekts, wenn der Detektor von BoundingUI festlegenwird. Siehe Enum.UIDragDetectorBoundingBehavior für Details zum Verhalten jedes Einstellungstypen.
BoundingUI
Wenn es festlegenist, wird die UIDragDetector Instanz die Grenzen des Eltern GuiObject nicht außerhalb der Grenzen der BoundingUI Instanz ziehen lassen.
Beachten Sie, dass, wenn ein Teil des Eltern GuiObject außerhalb der Grenzen der BoundingUI liegt, die ursprüngliche Eingabeposition beim Drag-Start und ihre relative Position während des Drag verwendet wird, bis das gesamte zu ziehende Objekt innerhalb der Grenzen ist, nachdem es dann eingeschränkt wird, innerhalb der Grenzen eingeschränkt wird.
CursorIcon
Setzt das Cursor-Symbol so ein, dass es angezeigt wird, wenn die Maus über dem Elternteil dieser UIDragDetector positioniert ist.Wenn diese Eigenschaft leer gelassen wird, verwendet der Detektor das Standard-Symbol.
Um das Cursor-Symbol zu ändern, legen Sie diese Eigenschaft auf die Asset-ID des Bildes fest, das Sie verwenden möchten.
DragAxis
Vector2 Wert, der die Bewegungsachse für das zugezogene Objekt definiert, wenn DragStyle auf Enum.UIDragDetectorDragStyle.TranslateLine gesetzt ist.Die Achse wird im lokalen Raum des UIDragDetector definiert, es sei denn, ReferenceUIInstance wird definiert, in dem Fall wird die Achse im lokalen Platzdieser Instanz definiert.
DragRelativity
Gilt nur, wenn eine benutzerdefinierte Ziehfunktion über SetDragStyleFunction() oder AddConstraintFunction() registriert wird.Legt das Paradigma fest, das die Relativität der Eingänge/Ausgänge der registrierten Funktion definiert.
Zum Beispiel, die Rückgabe einer von einer registrierten Funktion mit dieser Eigenschaft auf gesetzt, wird den Eltern des Detektors in den angegebenen verschieben, während die Rückgabe derselben mit dieser Eigenschaft auf gesetzt wird, die Eltern des Detektors in den angegebenen verschieben wird.
DragRotation
Die Rotation, die vom aktuellen Ziehen durchgeführt wird.Dieser Wert wird in Grad zum lokalen Raum der UIDragDetector festgelegt, es sei denn, ReferenceUIInstance wird definiert, in dem Fall wird die Rotation im lokalen Raum dieser Instanz und von ihrer positiven X -Achse definiert.
Dieses Eigenschaft kann geändert werden, während es keinen aktiven Zug gibt, um das gedrückte Objekt zu drehen.
DragSpace
Gilt nur, wenn eine benutzerdefinierte Ziehfunktion über SetDragStyleFunction() oder AddConstraintFunction() registriert wird.Legt das Paradigma fest, das den Raum der Eingänge/Ausgänge der registrierten Funktion definiert.
Zum Beispiel, wenn der Elternteil des Detektors GuiObject ein Kind eines Elternteils GuiObject ist, das gedreht wurde:
Die Rückgabe einer UDim2.fromOffset(1, 0) von einer registrierten Funktion mit dieser Eigenschaft, die auf Enum.UIDragDetectorDragSpace.Parent gesetzt ist, wird den Eltern der Detektorin GuiObject um 1 Pixel in den lokalen Raum verschieben, der durch die Rotation ihres übergeordnetes Teilbeeinflusst wird.
Die Rückgabe einer UDim2.fromOffset(1, 0) von einer registrierten Funktion mit dieser Eigenschaft, die auf Enum.UIDragDetectorDragSpace.LayerCollector gesetzt ist, wird den Eltern des Detektors GuiObject in den Raum der LayerCollector um 1 Pixel verschieben.
DragStyle
Das Paradigma, das verwendet wird, um vorgeschlagene Bewegung zu generieren, gegeben einen Stream von Eingangsvektorenpositionen. Siehe Enum.UIDragDetectorDragStyle für Optionen.
DragUDim2
Die Übersetzung, die vom aktuellen Ziehen ausgedrückt wird, in einem UDim2 Wert.Die Übersetzung erfolgt durch Offset oder Scale Wertänderungen abhängig vom DragRelativity Wert, und sie ist relativ zum lokalen Raum des Detektors, es sei denn ein ReferenceUIInstance wird definiert.
Diese Eigenschaft kann geändert werden, während es keinen aktiven Zug gibt, um das verschobene Objekt zu verschieben.
Enabled
Wenn true , reagiert der UIDragDetector auf die Eingabe des Benutzers; wenn false , tut er es nicht.
MaxDragAngle
Wenn diese Eigenschaft größer als MinDragAngle ist, wird die Rotation innerhalb des Bereichs von MinDragAngle und MaxDragAngle eingeschränkt.Positive Werte hindern die rechtsdrehende Rotation, während negative Werte die gegenläufige Rotation behindern.
Dies ist keine Beschränkung; es hindert nur die Versuche des Detektors, Bewegung zu generieren, um innerhalb der Grenzen zu bleiben.Siehe AddConstraintFunction(), um eine benutzerdefinierte Einschränkung zu einem Ziehen hinzuzufügen.
Nur relevant, wenn DragStyle relevant ist Enum.UIDragDetectorDragStyle.Rotate.
MaxDragTranslation
Wenn die entsprechenden Werte Offset und/oder Scale größer sind als die von MinDragTranslation in allen Dimensionen, wird die lineare/planare Übersetzung innerhalb des Bereichs von MinDragTranslation und MaxDragTranslation eingeschränkt.
Dies ist keine Beschränkung; es hindert nur die Versuche des Detektors, Bewegung zu generieren, um innerhalb der Grenzen zu bleiben.Siehe AddConstraintFunction(), um eine benutzerdefinierte Einschränkung zu einem Ziehen hinzuzufügen.
Nur relevant, wenn DragStyle ist Enum.UIDragDetectorDragStyle.TranslateLine oder Enum.UIDragDetectorDragStyle.TranslatePlane .
MinDragAngle
Wenn diese Eigenschaft weniger als MaxDragAngle ist, wird die Rotation innerhalb des Bereichs von MinDragAngle und MaxDragAngle eingeschränkt.Positive Werte hindern die rechtsdrehende Rotation, während negative Werte die gegenläufige Rotation behindern.
Dies ist keine Beschränkung; es hindert nur die Versuche des Detektors, Bewegung zu generieren, um innerhalb der Grenzen zu bleiben.Siehe AddConstraintFunction(), um eine benutzerdefinierte Einschränkung zu einem Ziehen hinzuzufügen.
Nur relevant, wenn DragStyle relevant ist Enum.UIDragDetectorDragStyle.Rotate.
MinDragTranslation
Wenn die entsprechenden Werte Offset und/oder Scale weniger als die von MaxDragTranslation in allen Dimensionen sind, wird die lineare/planare Übersetzung innerhalb des Bereichs von MinDragTranslation und MaxDragTranslation eingeschränkt.
Dies ist keine Beschränkung; es hindert nur die Versuche des Detektors, Bewegung zu generieren, um innerhalb der Grenzen zu bleiben.Siehe AddConstraintFunction(), um eine benutzerdefinierte Einschränkung zu einem Ziehen hinzuzufügen.
Nur relevant, wenn DragStyle ist Enum.UIDragDetectorDragStyle.TranslateLine oder Enum.UIDragDetectorDragStyle.TranslatePlane .
ReferenceUIInstance
Eine GuiObject, deren lokaler Raum und absolute Zentrumsposition der Referenzraum und Ursprung für den Detektor ist.Das Festlegen dieser Referenz wirkt sich auf Eigenschaften wie DragUDim2 , DragRotation und das Verhalten von DragAxis aus.
ResponseStyle
Sobald die vorgeschlagene Bewegung berechnet und möglicherweise eingeschränkt wurde, wird dieses Paradigma verwendet, um zu bestimmen, wie sich (oder nicht) die GuiObject Verschiebungswerkzeug, die durch die UIDragDetector betroffen sind.Siehe Enum.UIDragDetectorResponseStyle für Optionen.
SelectionModeDragSpeed
Legt die maximale Ziehgeschwindigkeit für die Übersetzung als Kombination von Scale und Offset des ersten Vorfahren ScreenGui oder SurfaceGui fest, zu dem der UIDragDetector gehört.Dieser Wert muss positiv sein und jeder Wert unter 0 wird auf 0 geklemmt.
SelectionModeRotateSpeed
Legt den maximalen Winkel pro Sekunde fest, um den sich die UIDragDetector drehen kann.Dieser Wert muss positiv sein und jeder Wert unter 0 wird auf 0 geklemmt.
UIDragSpeedAxisMapping
Enum.UIDragSpeedAxisMapping Wert, der die X / Y Dimensionsziehgeschwindigkeiten bestimmt.
Methoden
AddConstraintFunction
Fügt eine Funktion hinzu, um vorgeschlagene Bewegung zu modifizieren oder einzuschränken.Die Funktion nimmt eine Eingabe UDim2 (Position) und Fluttierung (Rotation) von vorgeschlagenem Antrag und gibt eine UDim2 und Fluttierung von modifiziertem oder unmodifiziertem Antrag zurück.Du kannst mehrere Funktionen hinzufügen, die nach priority aufgerufen werden, und die Ergebnisse in einer Kette weitergeben.
Die Eingabe wird in dem von der EigenschaftenDragSpace definierten Raum zum Ausdruck gebracht, entweder als Delta oder die endgültig gewünschte Position/Rotation basierend auf der EigenschaftenDragRelativity.Die Ausgabe sollte in demselben Raum und Relativität zum Ausdruck kommen, es sei denn, sie wird durch die Rückgabe von spezifizierten Enum.UIDragDetectorDragRelativity und Enum.UIDragDetectorDragSpace als dritte und vierte Rückgabewerte überschrieben.
Um eine hinzugefügte Einschränkungsfunktion zu entfernen, rufe Disconnect() auf das zurückgegebene Objektauf.
Parameter
Die Reihenfolge der Priorität für Funktionen, die über diese Methode hinzugefügt wurden. Höhere Werte haben Vorrang vor niedrigeren Werten.
Funktion zum Ändern oder Einschränken des vorgeschlagenen Bewegungsablaufs.Diese Funktion nimmt Eingabe UDim2 und Schwebung von vorgeschlagenem Antrag und gibt eine UDim2 und Schwebung von modifiziertem oder unmodifiziertem Antrag zurück.Es kann optional eine Enum.UIDragDetectorDragRelativity und Enum.UIDragDetectorDragSpace als dritte und vierte Rückgabewerte als Ausgabe-Überschreibungen zurückgeben.
Rückgaben
Verwende dieses Verbindungsobjekt, um die Einschränkungsfunktion zu entfernen.
GetReferencePosition
Wenn keine festlegenist, gibt diese Funktion die Position des unmittelbaren Elternteils des zugezogenen Objekts zurück (falls es eines gibt) oder die Position des zugezogenen Objekts.
Wenn ein ReferenceUIInstance festlegenwird, gibt diese Funktion die UDim2 Position dieser Instanzzurück.
Rückgaben
GetReferenceRotation
Wenn keine ReferenceUIInstance festlegenist, gibt diese Funktion die Rotation des unmittelbaren Elternteils des zugezogenen Objekts zurück GuiObject (wenn es eines gibt), oder die Rotation des zugezogenen Objekts.
Wenn ein ReferenceUIInstance festlegenwird, gibt diese Funktion die Rotation dieser Instanzzurück.
Rückgaben
Drehung des Referenz元素 der aktuellen Ziehung.
SetDragStyleFunction
Überlässt eine Funktion, die verwendet wird, wenn und nur wenn DragStyle auf Enum.UIDragDetectorDragStyle.Scriptable gesetzt ist.Die angegebene Funktion erhält die Bildschirmplatz-Eingabeposition des Signals mit dem Typ Vector2 und gibt eine UDim2 (Position) und Fließkomponente (Rotation) zurück, die die gewünschte Bewegung des Ziehens enthält.Der Raum der Rückgabewerte und die Relativität der Bewegung werden durch die Eigenschaften DragSpace und DragRelativity bestimmt, es sei denn, sie werden durch die Rückgabe von spezifischen Enum.UIDragDetectorDragRelativity und Enum.UIDragDetectorDragSpace als dritte und vierte Rückgabewerte überschrieben.
Wenn die Funktion nil zurückgibt, wird das Objekt nicht verschoben.Dies ist nützlich, wenn das Skript noch nicht alle Informationen gesammelt hat, die es benötigt, um die richtige Antwort zu geben, oder in vorübergehenden Fällen, in denen Sie möchten, dass das Objekt dort bleibt, wo es ist.
Parameter
Funktion zum Überwachen von DragContinue.Diese Funktion erhält die Eingabeposition des Bildschirmbereichs des Signals und gibt eine UDim2 und einen Float mit der gewünschten Bewegung des Ziehens im gewünschten Raum und Relativität zurück.Wenn diese Funktion nil zurückgibt, wird das Objekt nicht verschoben.
Rückgaben
Ereignisse
DragContinue
Feuert, wenn ein Benutzer das UI-Element weiter zieht, nachdem DragStart initiiert wurde.
Parameter
DragEnd
Feuert, wenn ein Benutzer aufhört, das UI-Element zu ziehen.