Jalur 2D

*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.

kejadianPath2D memiliki API metode dan properti, memungkinkan Anda untuk menerapkan splin 2D dan garis melengkung 2D, berguna untuk efek UI seperti animasi berbasis jalur dan editor grafik.

Buat jalur 2D

Untuk menambahkan Path2D ke layar atau objek dalam pengalaman:

  1. Di jendela Explorer, masukkan instansi Path2D di bawah ScreenGui atau SurfaceGui (tidak perlu menjadi anak langsung).

    Path2D instance parented to a ScreenGui in the Explorer hierarchy.
  2. Pilih yang baru Path2D untuk mengungkapkan widget pemrograman alat dalam jendela pandang. Secara default, alat Tambahkan Titik dipilih.

    Add Point tool indicated in the 2D path editor widget.
  3. Mulai klik di layar untuk menambahkan serangkaian titik kontrol untuk membentuk jalur.Jalur awal kemungkinan tidak akurat tetapi Anda dapat menyesuaikan posisi setiap titik kontrol nanti.

    Diagram illustrating an example path created using the Add Point tool to connect a series of points.
  4. Saat selesai, klik tombol Selesai widget atau tekan Enter .

Modifikasi titik kontrol

Dengan Path2D dipilih dalam hierarki Explorer, Anda dapat mengubah titik kontrol individu serta tangensnya.

Pindahkan titik

Untuk memindahkan titik kontrol individu di jalur, aktifkan alat Pilih ( V ) dan kemudian klik dan seret ke posisi baru.

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.

Untuk posisi yang sangat spesifik, pilih titik kontrol dan kemudian, di jendela Properti, atur posisi baru untuk properti titik SelectedControlPointData (UDim2).

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

Perhatikan bahwa posisi titik tidak mutlak, tetapi lebih relatif ke wadah orang tuanya jalur.Sebagai contoh, bandingkan titik kontrol 30% dari kiri dan 20% dari atas untuk jalur di dalam , versus jalur identik yang ditempatkan di sudut kanan atas .

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

Tambahkan poin

Titik kontrol baru dapat ditambahkan ke Path2D antara dua titik yang ada atau dari titik akhir mana pun menggunakan alat Tambahkan Titik ( 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.
Melayang di mana saja di atas jalur dan klik untuk menambahkan titik kontrol di antara dua titik yang ada
Diagram illustrating how a control point is added to the end of a path using the Add Point tool.
Klik pada titik akhir dan kemudian klik lagi untuk menambahkan titik kontrol dari akhir itu

Hapus titik

Untuk menghapus titik kontrol, hover over dan klik kanannya, lalu pilih Hapus Titik dari menu popup konteks.

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

Kontrol titik tangens

Titik kontrol tangens memungkinkan Anda membuat dan menyesuaikan kurva di jalur.

Diagram illustrating a curved path with several tangent control points.

Tambahkan tangens

Untuk menambahkan tangens ke titik kontrol mana pun yang belum memiliki tangens:

  1. Aktifkan alat Tambah Tangensial di widget pengembangan.

    Add Tangent tool indicated in the 2D path editor widget.
  2. Pasang mouse di atas titik kontrol yang diinginkan, lalu klik untuk menambahkan dua mirip tangens (opsional seret setelah klik untuk menyesuaikan tangens baru).

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

Sesuaikan sudut

Untuk menyesuaikan tangens yang ada untuk titik kontrol individu:

  1. Aktifkan alat Pilih ( V ).

    Select tool indicated in the 2D path editor widget.
  2. Lewati penanda tangensial (bukan titik kontrol), lalu klik dan seret ke posisi baru.Jika tangens tercermin, titik tangens pasangan akan bergerak secara bersamaan.

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

Untuk secara manual mengatur posisi spesifik UDim2 untuk tangens:

  1. Aktifkan alat Pilih ( V ) dan pilih titik kontrol.Di jendela Properti, perluas bidang SelectedControlPointData untuk mengekspos properti LeftTangent dan RightTangent.

    LeftTangent and RightTangent properties of a Path2D control point indicated in the Properties window.
  2. Tetapkan posisi untuk LeftTangent dan/atau RightTangent. Perhatikan bahwa ini akan memecahkan perilaku terbalik dari tangens.

Hapus tangens

Untuk menghapus kedua tangens dari titik kontrol, hover over dan klik kanan titik itu, lalu pilih Hapus Tangens dari menu popup konteks.

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

Untuk menghapus hanya satu dari tangens (kiri atau kanan), hover over dan klik kanan penanda tangens itu, lalu pilih Hapus Tangens .

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

Memecah dan memantulkan

Secara default, tangens saling membalas. Saat Anda seret untuk menyesuaikan satu penanda tangens, titik tangens berpasangan akan bergerak bersama-sama.

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

Untuk "mematahkan" tangens sehingga masing-masing dapat dipindahkan secara independen dari yang lain, hover over dan klik kanan titik kontrol yang terkait, lalu pilih Mematahkan Tangens dari menu konteks.Setelah rusak, Anda dapat memindahkan masing-masing penanda tangens tanpa memengaruhi yang lain.

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

Properti visual jalur

Anda dapat menyesuaikan penampilan visual dari Path2D dengan properti berikut:

PropinsiDeskripsi
Color3Tetapkan warna garis jalur.
ThicknessTetapkan tebalnya garis jalur, dalam piksel.
VisibleJadikan jalur terlihat atau tidak dalam kedua edit dan runtime.
ZIndexPesanan di mana jalur ditampilkan relatif terhadap GUI lain.
Diagram illustrating a path with Thickness of 2 and Color3 of (125, 125, 125).

Ketebalan = 2Color3 = (125, 125, 125)
>

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

Ketebalan = 10Color3 = (225, 0, 50)
>

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

Tumpukan ZIndex
>

scriptingjalur

Skrip berguna untuk beberapa alur kerja terkait jalur.Contoh berikut menggunakan metode seperti GetControlPoints() yang men返ikan tabel dari Path2DControlPoints dan GetPositionOnCurveArcLength() yang men返ikan posisi UDim2 di sepanjang splin dengan nilai t tertentu.

Atur Objek UI di Seluruh Jalur

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
-- Awalnya mengatur objek UI anak di sepanjang jalur
arrangeChildren()
-- Dengarkan anak-anak yang ditambahkan/dikeluarkan untuk menyesuaikan pengaturan
parent.ChildAdded:Connect(arrangeChildren)
parent.ChildRemoved:Connect(arrangeChildren)
Animasi Objek UI Selama Jalur

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