Jalan 2D

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

kejadianPath2D , bersama dengan metode dan propinya API, memungkinkan Anda untuk menerapkan spline 2D dan garis 2D yang dibungkuk, berguna untuk efek UI seperti animasi jalan dan editor grafis.

Membuat Jalur2D

Untuk menambahkan Path2D ke layar atau objek dalam pengalaman:

  1. Dalam jendela Explorer, sisipkan instance Path2D di bawah ScreenGui atau 1> Class.SurfaceGui1> (tidak perlu menjadi anak langsung).

    Path2D instance parented to a ScreenGui in the Explorer hierarchy.
  2. Pilih yang baru Path2D untuk mengungkapkan alat perangkat luncur dalam pandangan. Secara default, alat Tambahkan Titik dipilih.

    Add Point tool indicated in the 2D path editor widget.
  3. Mulai klik di layar untuk menambahkan beberapa poin kontrol untuk membentuk jalan. Jalan awal mungkin tidak tepat tetapi Anda dapat menyempurnakan posisi setiap poin kontrol nanti.

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

Mengubah Titik Kontrol

Dengan memilih Path2D di hierarchi Explorer, Anda dapat mengubah poin kontrol individualnya serta tangens mereka.

Pindahkan Titik

Untuk menindakkan titik kontrol individual di jalan, aktifkan alat Pilih ( V ) dan kemudian klik dan seret ke lokasi 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, dalam jendela Properties, atur posisi baru untuk propperti SelectedControlPointData ( UDim2 ).

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

Catat bahwa posisi titik bukanlah absolut, tetapi lebih dari relatif ke wadah orang tua rute. Misalnya, bandingkan titik kontrol 30% dari kiri dan 20% dari atas untuk rute di dalam ScreenGui , versus patut identik yang ditempatkan di sudut atas kiri dari <

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

Menambahkan Titik

Poin kontrol baru dapat ditambahkan ke Path2D antara dua poin yang ada atau dari salah satu ujung dengan menggunakan alat Tambahkan Poin ( 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.
Geser di mana saja di jalan raya dan klik untuk menambahkan titik kontrol di antara dua titik yang sudah 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 kendali dari ujung itu

Menghapus Titik

Untuk menghapus titik kontrol, hover over and right click it, then select Delete Point dari menu popup konteks.

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

Mengontrol Titik Tangens

Poin kontrol tangens memungkinkan Anda untuk menciptakan dan menyesuaikan kurva di jalan.

Diagram illustrating a curved path with several tangent control points.

Menambahkan Tangents

Untuk menambahkan tangens ke setiap titik kontrol yang belum memiliki tangens:

  1. Aktifkan alat Tambahkan Tangent di widget alat.

    Add Tangent tool indicated in the 2D path editor widget.
  2. Hover over the desired control point, then click to add two mirrored tangents (optionally drag after clicking to adjust the new tangents).

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

Menyesuaikan Tangents

Untuk menyesuaikan tangens yang ada untuk titik kontrol individual:

  1. Aktifkan alat Pilih ( V ).

    Select tool indicated in the 2D path editor widget.
  2. Geser over a tangent marker (not the control point), then click-and-drag it to a new position. If the tangents are mirrored, the paired tangent point will move in unison.

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

Untuk menetapkan posisi UDim2 tertentu untuk tangan:

  1. Aktifkan alat Pilih ( V ) dan pilih titik kontrol. Di jendela Properti, ekspansi 1> Class.Path2D.SelectedControlPointData|SelectedControlPointData1> untuk mengekspos 4> Datatype.Path2DControl

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

Menghapus Tangents

Untuk menghapus kedua tangens dari titik kontrol, hover over dan right-click that point, then select 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 salah satu dari tangens (kiri atau kanan), hover over dan right-click tangens Marker, then select Hapus Tangens .

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

Menghancurkan dan Menyamar

Secara default, tangens saling mencerminkan. Saat Anda menyeret untuk menyesuaikan satu tangens markas, titik tangens yang berpasangan akan bergerak tanpa persaingan.

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

Untuk "memecah" tangensi sehingga setiap orang dapat di移動 secara independen satu sama lain, hover over dan right-click pada titik kontrol yang terkait, lalu pilih Memecahkan Tangensi dari menu konteks. Setelah dipatahkan, Anda dapat menyesuaikan setiap pemecah tangensi tanpa mempengaruhi orang lain.

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

Properti Jalan Visual

Anda dapat menyesuaikan tampilan visual Class.Path2D dengan berbagai propperti berikut:

PropertiDeskripsi
Color3Tetapkan warna garis jalan.
ThicknessTetapkan ketebuhan garis jalan, dalam pixel.
VisibleJadikan jalan terlihat atau tidak dalam kedua edit dan runtime.
ZIndexPerintah dalam mana jalan setapak rendah relatif terhadap GUI lainnya.
Diagram illustrating a path with Thickness of 2 and Color3 of (125, 125, 125).
Ketebuatan = 2Color3 = (125, 125, 125)
Diagram illustrating a path with Thickness of 10 and Color3 of (225, 0, 50).
Ketebuhan = 10Color3 = (225, 0, 50)
Diagram illustrating a path layered in front of another using the ZIndex property.
Pengganda ZIndex

Skrip Jalan

Skrip berguna untuk beberapa workflow terkait jalan. Berikut adalah contoh yang menggunakan metode seperti GetControlPoints() yang mengembalikan tabel Datatype.Path2DControl

Atur Objek UI di 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 atur objek UI anak di jalan
arrangeChildren()
-- Dengarkan anak-anak yang ditambahkan/dihapus untuk menyesuaikan urutan
parent.ChildAdded:Connect(arrangeChildren)
parent.ChildRemoved:Connect(arrangeChildren)
Objek UI Animasi Sepanjang 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()