2D-Wege

*Dieser Inhalt wurde mit KI (Beta) übersetzt und kann Fehler enthalten. Um diese Seite auf Englisch zu sehen, klicke hier.

Die Path2D Instanz, zusammen mit ihren API-Methoden und Eigenschaften, ermöglicht es Ihnen, 2D-Splines und 2D-Curved-Lines zu implementieren, nützlich für Benutzeroeffekte wie Path-based Animationen und Graph-Editoren.

Erstellen eines Pfad

Um ein Path2D an den Bildschirm oder ein In-Experience-Objekt hinzuzufügen:

  1. In dem Explorer-Fenster, fügen Sie eine Path2D Instanz unter einem sichtbaren ScreenGui oder 1> Class.SurfaceGui1> (es muss kein direkter Kind sein) ein.

    Path2D instance parented to a ScreenGui in the Explorer hierarchy.
  2. Wählen Sie das neue Path2D , um das In-Viewport-Werkzeug-Widget zu enthüllen. Standardmäßig wird das Zufügen-Punkt-Werkzeug ausgewählt.

    Add Point tool indicated in the 2D path editor widget.
  3. Beginnen Sie, auf dem Bildschirm zu klicken, um eine Reihe von Kontrollpunkten hinzuzufügen, um einen Pfad zu bilden. Der ursprüngliche Pfad wird wahrscheinlich ungenau sein, aber Sie können die Position eines Kontrollpunkts später feinjustieren.

    Diagram illustrating an example path created using the Add Point tool to connect a series of points.
  4. Wenn Sie fertig sind, klicken Sie auf die Widget"Erledigt" in der Navigation oder drücken Sie Enter.

Steuungspunkte modifizieren

Mit einem Path2D ausgewählt in der Explorer-Hierarchie, können Sie seine einzelnen Kontrollpunkte sowie seine Tangente modifizieren.

Bewegliche Punkte

Um einen einzelnen Kontrollpunkt auf einem Pfad zu verschieben, aktivieren Sie das Auswählen -Werkzeug ( V ) und klicken Sie dann auf ihn und ziehen Sie ihn zu einer neuen Position.

Select tool indicated in the 2D path editor widget. Diagram illustrating how a path control point is moved to a new position by clicking and dragging with the Select tool enabled.

Für eine sehr spezifische Platzierung wählen Sie den Kontrollpunkt und dann im Eigenschaften-Fenster die neue Position für die Eigenschaft des Punkts SelectedControlPointData ( UDim2 ).

SelectedControlPointData property of a Path2D instance indicated in the Properties window.

Beachten Sie, dass die Position eines Punkts nicht absolut ist, sondern vielmehr relativ zu dem Elternbehälter des Weges. Zum Beispiel vergleichen Sie einen Kontrollpunkt 30% von links und 20% von oben für einen Weg innerhalb eines ScreenGui , im Gegensatz zu einer identischen Position, die in der oberen-rechten Ecke des Class

Diagram illustrating how the positions of path control points are relative to their parent container.

Punkte hinzufügen

Neue Kontrollpunkte können zu einem Path2D hinzugefügt werden, entweder zwischen zwei bestehenden Punkten oder von einem Endpunkt aus mit dem Werkzeug Punkt hinzufügen ( P ).

Add Point tool indicated in the 2D path editor widget.
Diagram illustrating how a control point is added between two existing points using the Add Point tool.
Bewegen Sie den Mauszeiger über die Strecke und klicken Sie, um einen Kontrollpunkt zwischen zwei vorhandenen Punkten hinzuzufügen
Diagram illustrating how a control point is added to the end of a path using the Add Point tool.
Klicken Sie auf einen Endpunkt und klicken Sie dann erneut, um einen Kontrollpunkt von diesem Endpunkt hinzuzufügen

Punkte löschen

Um einen Kontrollpunkt zu löschen, bewegen Sie den Mauszeiger über ihn und klicken Sie dann mit der rechten Maustaste auf Punkt löschen aus dem Kontextmenü.

Diagram illustrating how a path control point is deleted by right-clicking it and selecting Delete Point.

Steuungspunkt Tangente

Control point Tangente lässt Sie Kurven auf einem Pfad erstellen und anpassen.

Diagram illustrating a curved path with several tangent control points.

Tangente hinzufügen

Um jedem Kontrollpunkt, der keine Tangente bereits hat, einen Tangenten hinzuzufügen:

  1. Aktivieren Sie das Tangente hinzufügen Werkzeug im Widget.

    Add Tangent tool indicated in the 2D path editor widget.
  2. Bewegen Sie den Mauszeiger über den gewünschten Kontrollpunkt und klicken Sie dann, um zwei gespiegelte Tangente hinzuzufügen (optionale Ziehung nach dem Klicken, um die neuen Tangente anzupassen).

    Diagram illustrating how a path control point with tangents is created with the Add Tangent tool.

Anpassung von Tangente

Um bestehende Tangente für einen einzelnen Kontrollpunkt anzupassen:

  1. Aktivieren Sie das Auswählen-Werkzeug ( V ).

    Select tool indicated in the 2D path editor widget.
  2. Bewegen Sie den Mauszeiger über einen Tangensmarter (nicht den Kontrollpunkt), dann klicken Sie darauf und ziehen Sie es zu einer neuen Position. Wenn die Tangente gespiegelt ist, bewegt sich der zugeordnete Tangenspunkt in Einklang.

    Diagram illustrating how the tangents of a control point are adjusted with the Select tool enabled.

Um eine bestimmte UDim2 Position für einen Tangenten manuell zu setzen:

  1. Aktivieren Sie das Werkzeug Auswählen ( V ) und wählen Sie den Kontrollpunkt. Im Eigenschaften-Fenster erweitern Sie das Feld 1> Class.Path2D.SelectedControlPointData|SelectedControlPointData1> , um die 4> Dat

    LeftTangent and RightTangent properties of a Path2D control point indicated in the Properties window.
  2. Set the position for LeftTangent and/or RightTangent . Beachten Sie, dass dies das mirrored-Verhalten der Tangente bricht.

Tangente löschen

Um beide Tangente von einem Kontrollpunkt zu löschen, bewegen Sie den Mauszeiger über und rechtsklicken Sie auf diesen Punkt, dann wählen Sie Tangente löschen aus dem Kontextmenü.

Diagram illustrating how both tangents of a control point are cleared by right-clicking it and selecting Clear Tangents.

Um nur einen der Tangente (links oder rechts) zu löschen, bewegen Sie den Mauszeiger über die Markierung und klicken Sie dann auf Tangente löschen .

Diagram illustrating how one tangent of a control point is deleted by right-clicking it and selecting Delete Tangent.

Aufbrechen und Mirror

Standardmäßig spiegeln sich Tangente nacheinander. Wenn Sie ziehen, um einen Tangentenmarkierer anzupassen, bewegt sich der kombinierte Tangenzentpunkt in Einklang.

Diagram illustrating how the tangents of a control point are adjusted with the Select tool enabled.

Um die Tangente "zu brechen", damit jeder von der anderen abhängig ist, bewegen Sie den Mauszeiger über die mit dem anderen verbundene Steuerelement und klicken Sie dann mit der rechten Maustaste auf "Tangente brechen" aus dem Kontextmenü. Einmal gebrochen, können Sie jeden Tangentenmarker ohne das andere bewegen.

Diagram illustrating how the tangents of a control point are broken by right-clicking it and selecting Break Tangents.

Weg- visuelle Eigenschaften

Du kannst das visuelle Aussehen eines Path2D mit den folgenden Eigenschaften anpassen:

EigenschaftBeschreibung
Color3Setzt die Farbe der Pfadlinie.
ThicknessSetzt die Dicke der Path-Linie, in Pixel.
VisibleMach den Pfad sichtbar oder nicht in both edit and Laufzeit.
ZIndexOrdnen Sie, in dem ein Pfad relativer zu anderen GUI-Anzeigen ist.
Diagram illustrating a path with Thickness of 2 and Color3 of (125, 125, 125).
Dicke = 2Farbe3 = (125, 125, 125)
Diagram illustrating a path with Thickness of 10 and Color3 of (225, 0, 50).
Dicke = 10Farbe3 = (225, 0, 50)
Diagram illustrating a path layered in front of another using the ZIndex property.
ZIndex-Lagerung

Weg-Skripting

Skripte sind für mehrere Pfad-bezogene Workflows nützlich. Die folgenden Beispiele verwenden Methoden wie GetControlPoints(), die eine Tabelle von Path2DControlPoints und

UI-Objekte auf dem Pfad anordnen

local parent = script.Parent
local path = parent:FindFirstChildWhichIsA("Path2D")
local function arrangeChildren()
local segmentCount = #path:GetControlPoints()
local objectsToArrange = {}
for _, child in parent:GetChildren() do
if child:IsA("GuiObject") then
table.insert(objectsToArrange, child)
end
end
for idx, child in objectsToArrange do
local t = idx / (#objectsToArrange + 1)
child.Position = path:GetPositionOnCurveArcLength(t)
end
end
-- Kinder-UI-Objekte anfangen mit dem Pfad
arrangeChildren()
-- Hören Sie, wenn Kinder hinzugefügt/entfernt werden, um die Anordnung anzupassen
parent.ChildAdded:Connect(arrangeChildren)
parent.ChildRemoved:Connect(arrangeChildren)
UI-Objekt während des Pfades animieren

local Tweenservice = game:GetService("TweenService")
local parent = script.Parent
local path = parent:FindFirstChildWhichIsA("Path2D")
local objectToAnimate = parent:FindFirstChildWhichIsA("GuiObject")
local TWEEN_DURATION = 4
local TWEEN_EASING_STYLE = Enum.EasingStyle.Cubic
local TWEEN_EASING_DIRECTION = Enum.EasingDirection.InOut
local pathSampleValue = Instance.new("NumberValue")
local tweenInfo = TweenInfo.new(TWEEN_DURATION, TWEEN_EASING_STYLE, TWEEN_EASING_DIRECTION, 0, true, 2)
local tween = Tweenservice:Create(pathSampleValue, tweenInfo, {Value = 1})
local function onSampleValueChanged()
objectToAnimate.Position = path:GetPositionOnCurveArcLength(pathSampleValue.Value)
end
pathSampleValue.Changed:Connect(onSampleValueChanged)
tween:Play()