Ścieżki 2D

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

instancjaPath2D pozwala na wdrożenie 2D splin i 2D zakrzywionych linii, przydatnych do efektów interfejsu użytkownika, takich jak animacje oparte na ścieżkach i edytory grafów.

Stwórz ścieżkę 2D

Aby dodać Path2D do ekranu lub obiekt w doświadczeniu:

  1. W oknie Eksploratora wstaw instancję Path2D pod widoczne ScreenGui lub SurfaceGui (nie musi być bezpośrednim dzieckiem).

    Path2D instance parented to a ScreenGui in the Explorer hierarchy.
  2. Wybierz nowy Path2D, aby ujawnić widget narzędzi do programowania w widoku. Domyślnie wybrano narzędzie Dodaj punkt .

    Add Point tool indicated in the 2D path editor widget.
  3. Zacznij klikać na ekranie, aby dodać serię punktów kontrolnych , aby utworzyć ścieżkę.Początkowa ścieżka prawdopodobnie będzie niedokładna, ale później możesz dostosować pozycję dowolnego punktu kontroli.

    Diagram illustrating an example path created using the Add Point tool to connect a series of points.
  4. Gdy skończysz, kliknij przycisk Zrobione widgetu lub naciśnij Enter .

Modyfikuj punkty kontrolne

Wybierając Path2D w hierarchii Explorer, możesz modyfikować jej pojedyncze punkty kontroli, a także ich tangenty.

Przesuń punkty

Aby przenieść pojedynczy punkt kontroli na ścieżce, włącz narzędzie Wybierz ( V ), a następnie kliknij i przeciągnij do nowej pozycji.

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.

Do bardzo precyzyjnego pozycjonowania wybierz punkt kontrolny, a następnie, w oknie Właściwości, ustaw nową pozycję dla właściwości punktu SelectedControlPointData (UDim2).

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

Zauważ, że pozycja punktu nie jest absolutna, ale raczej względna wobec kontenera rodzica ścieżki.Na przykład, porównaj punkt kontrolny 30% z lewej strony i 20% z góry dla ścieżki wewnątrz ScreenGui , w porównaniu z identyczną ścieżką umieszczoną wewnątrz Frame położoną w prawym górnym rogu ScreenGui.

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

Dodaj punkty

Nowe punkty kontrolne można dodać do Path2D między dwoma istniejącymi punktami lub z dowolnego punktu końcowego za pomocą narzędzia Dodaj punkt ( 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.

Nawiguj w dowolnym miejscu po ścieżce i kliknij, aby dodać punkt kontroli między dwoma istniejącymi punktami
>

Diagram illustrating how a control point is added to the end of a path using the Add Point tool.
Kliknij punkt końcowy, a następnie kliknij ponownie, aby dodać punkt kontrolny z tego końca

Usuń punkty

Aby usunąć punkt kontrolny, przewiń nad nim i kliknij prawym przyciskiem myszy, a następnie wybierz Usuń punkt z menu kontekstowego.

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

Tangencje punktu kontrolnego

Punkt kontrolny tangenty pozwala tworzyć i dostosowywać krzywe na ścieżce.

Diagram illustrating a curved path with several tangent control points.

Dodaj tangenty

Aby dodać tangенsy do dowolnego punktu kontroli, który nie ma już tangensów:

  1. Włącz narzędzie Dodaj tangensę w widgetzie narzędziowym.

    Add Tangent tool indicated in the 2D path editor widget.
  2. Najedź na wybrany punkt kontroli, a następnie kliknij, aby dodać dwie odzwierciedlone tangenty (opcjonalnie przeciągnij po kliknięciu, aby dostosować nowe tangenty).

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

Dostosuj nachylenia

Aby dostosować istniejące tangенsy dla pojedynczego punktu kontroli:

  1. Włącz narzędzie Wybierz ( V ).

    Select tool indicated in the 2D path editor widget.
  2. Najedź na znacznik tangenty (nie punkt kontroli), a następnie kliknij i przeciągnij go do nowej pozycji.Jeśli tangensy są odzwierciedlone, punkt połączonych tangensów będzie się poruszał jednomyślnie.

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

Aby ręcznie ustawić określoną pozycję UDim2 dla tangenty:

  1. Włącz narzędzie Wybierz ( V ) i wybierz punkt kontroli.W oknie Właściwości, rozszerz pole SelectedControlPointData , aby wyświetlić właściwości LeftTangent i RightTangent.

    LeftTangent and RightTangent properties of a Path2D control point indicated in the Properties window.
  2. Ustaw pozycję dla LeftTangent i/lub RightTangent. Zauważ, że spowoduje to złamanie zachowania lusterowanego przez tangенsy.

Usuń tangenty

Aby usunąć obie tangенsy z punktu kontrolnego, przewiń nad nim i kliknij prawym przyciskiem myszy, a następnie wybierz Wyczyść tangенsy z menu kontekstowego.

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

Aby usunąć tylko jedną z tangent (lewą lub prawą), przewiń i kliknij prawym przyciskiem myszy znacznik tangenty, a następnie wybierz Usuń tangentę .

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

Złam i odbij

Domyślnie tangensy odzwierciedlają się nawzajem. Gdy przeciągniesz przesuń, aby dostosować jeden marker tangensów, połączony punkt tangensów będzie się poruszał jednomyślnie.

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

Aby "złamać" tangensy, tak aby każdy mógł być przesuwany niezależnie od drugiego, przewiń i kliknij prawym przyciskiem myszy powiązany punkt kontroli, a następnie wybierz Złamuj tangensy z menu kontekstowego.Gdy jeden z nich zostanie złamany, możesz przenieść każdy znacznik tangenty bez wpływu na drugi.

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

Właściwości wizualne ścieżki

Możesz dostosować wizualny wygląd Path2D z następującymi właściwościami:

WłaściwośćOpis
Color3Ustawia kolor linii ścieżki.
ThicknessUstawia grubość linii ścieżki, w pikselach.
VisibleZrób ścieżkę widoczną lub nie w edycji i wykonaniu.
ZIndexZamówienie, w którym ścieżka jest renderowana względem innych interfejsów użytkownika.
Diagram illustrating a path with Thickness of 2 and Color3 of (125, 125, 125).

Grubość = 2Color3 = (125, 125, 125)
>

Diagram illustrating a path with Thickness of 10 and Color3 of (225, 0, 50).

Grubość = 10Color3 = (225, 0, 50)
>

Diagram illustrating a path layered in front of another using the ZIndex property.

Warstwa indeksu Z
>

Skryptowanie ścieżki

Skryptowanie jest przydatne do kilku powiązanych z ścieżką przepływów pracy.Poniższe przykłady wykorzystują metody takie jak GetControlPoints(), które zwracają tabelę Path2DControlPoints i GetPositionOnCurveArcLength(), która zwraca pozycję UDim2 wzdłuż spliny na daną wartość t.

Umów obiekty interfejsu użytkownika na całej ścieżce

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
-- Początkowo skonfiguruj dziecięce obiekty UI na ścieżce
arrangeChildren()
-- Słuchaj dzieci, które są dodawane/usuwane, aby dostosować układ
parent.ChildAdded:Connect(arrangeChildren)
parent.ChildRemoved:Connect(arrangeChildren)
Animuj obiekt UI wzdłuż ścieżki

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()