UIDragDetector

Veraltete anzeigen

*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

Methoden

Ereignisse

Eigenschaften

ActivatedCursorIcon

ContentId
Parallel lesen

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.

Parallel lesen

Bestimmt das Bindungsverhalten des angezogenen UI-Objekts, wenn der Detektor von BoundingUI festlegenwird. Siehe Enum.UIDragDetectorBoundingBehavior für Details zum Verhalten jedes Einstellungstypen.

BoundingUI

Parallel lesen

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

ContentId
Parallel lesen

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

Parallel lesen

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.

Parallel lesen

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

Parallel lesen

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.

Parallel lesen

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:

Parallel lesen

Das Paradigma, das verwendet wird, um vorgeschlagene Bewegung zu generieren, gegeben einen Stream von Eingangsvektorenpositionen. Siehe Enum.UIDragDetectorDragStyle für Optionen.

DragUDim2

Parallel lesen

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

Parallel lesen

Wenn true , reagiert der UIDragDetector auf die Eingabe des Benutzers; wenn false , tut er es nicht.

MaxDragAngle

Parallel lesen

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

Parallel lesen

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

Parallel lesen

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

Parallel lesen

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

Parallel lesen

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.

Parallel lesen

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

Parallel lesen

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

Parallel lesen

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

Parallel lesen

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

priority: number

Die Reihenfolge der Priorität für Funktionen, die über diese Methode hinzugefügt wurden. Höhere Werte haben Vorrang vor niedrigeren Werten.

Standardwert: ""
function: function

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.

Standardwert: ""

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

UDim2 position des referenz元素 der aktuellen ziehung.

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

function: function

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.

Standardwert: ""

Rückgaben

()

Ereignisse

DragContinue

Feuert, wenn ein Benutzer das UI-Element weiter zieht, nachdem DragStart initiiert wurde.

Parameter

inputPosition: Vector2

Vector2 repräsentiert die aktuelle eingriffsposition.


DragEnd

Feuert, wenn ein Benutzer aufhört, das UI-Element zu ziehen.

Parameter

inputPosition: Vector2

Vector2 repräsentiert die aktuelle eingriffsposition.


DragStart

Feuert, wenn ein Benutzer beginnt, das UI-Element zu ziehen.

Parameter

inputPosition: Vector2

Vector2 repräsentiert die aktuelle eingriffsposition.