เส้นทาง 2D

*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่

ตัวอย่าง Class.Path2D พร้อมกับวิธีการและโปรพีเซ็นส์ API ของมันช่วยให้คุณใช้งาน 2D splines และ 2D เส้นโค้งที่มีประโยชน์สำหรับ UI เช่นเอฟเฟกต์เส้นทางและเครื่องมือจัดการกราฟิก

การสร้างเส้นทาง 2D

เพื่อเพิ่ม Path2D ลงในหน้าจอหรือวัตถุในประสบการณ์:

  1. ใน หน้าต่าง Explorer ใส่ Path2D ตัวอย่างภายใต้ Class.ScreenGui หรือ 1> Class.SurfaceGui1> (มันไม่จำเป็นต้องเป็นลูกโดยตรง)

    Path2D instance parented to a ScreenGui in the Explorer hierarchy.
  2. เลือก Path2D ใหม่เพื่อเปิดเผยข้อมูลเครื่องมือใน-viewport โดยปกติ เครื่องมือ เพิ่มจุด จะได้รับการเลือก

    Add Point tool indicated in the 2D path editor widget.
  3. เริ่มคลิกที่หน้าจอเพื่อเพิ่มชุดของ คะแนนควบคุม เพื่อสร้างเส้นทาง เส้นทางเริ่มต้นอาจไม่แม่นยำ แต่คุณสามารถปรับตำแหน่งของคะแนนควบคุมใด ๆ ได้ในภายหลัง

    Diagram illustrating an example path created using the Add Point tool to connect a series of points.
  4. เมื่อเสร็จสิ้นให้คลิกปุ่ม เสร็จสิ้น ของช่องเก็บข้อมูลหรือกด Enter

การเปลี่ยนแป้งจุดควบคุม

ด้วย Path2D ที่เลือกใน คลาสเอ็กซ์พลอเตอร์ ระดับการควบคุม คุณสามารถปรับแต่ละจุดควบคุมของมันได้ รวมถึง แทงค์เตนท์ของมัน

ย้ายจุด

เพื่อย้ายจุดควบคุมบนเส้นทาง เปิดเครื่องมือ เลือก ( V ) แล้วคลิกและลากไปยังตำแหน่งใหม่

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.

สำหรับตำแหน่งที่แน่นอนมากเลือกจุดควบคุมแล้วในหน้าต่าง โปรไฟล์ ตั้งค่าตำแหน่งใหม่สำหรับสมบัติของตำแหน่ง SelectedControlPointData ( UDim2 )

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

หมายเหตุว่าตำแหน่งของจุดไม่ได้เป็นสัมพันธ์กับความสัมพันธ์ของความสัมพันธ์กับความสัมพันธ์ของความสัมพันธ์กับความสัมพันธ

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

เพิ่มจุด

จุดควบคุมใหม่สามารถเพิ่มได้ที่ Path2D ระหว่างสองจุดที่มีอยู่หรือจากจุดสิ้นสุดที่ใช้เครื่องมือ เพิ่มจุด ( 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.
เลื่อนสายตาไปที่เส้นทางและคลิกเพื่อเพิ่มจุดควบคุมระหว่างสองจุดที่มีอยู่
Diagram illustrating how a control point is added to the end of a path using the Add Point tool.
คลิกที่จุดสิ้นสุดแล้วคลิกอีกครั้งเพื่อเพิ่มจุดควบคุมจากจุดนั้น

การลบจุด

เพื่อลบจุดควบคุมให้เลือก ลบจุด จากเมนูป๊อปอัปบริบทัศน์

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

ควบคุมจุด Tangents

ควบคุมจุด tangents ให้คุณสร้างและปรับแต่งโค้งในเส้นทาง

Diagram illustrating a curved path with several tangent control points.

การเพิ่ม tangents

เพื่อเพิ่ม tangents ให้กับจุดควบคุมที่ยังไม่มี tangents:

  1. เปิดใช้งานเครื่องมือ เพิ่ม Tangent ในช่องเก็บของ

    Add Tangent tool indicated in the 2D path editor widget.
  2. เลื่อนเมาส์ไปที่จุดควบคุมที่ต้องการแล้วคลิกเพื่อเพิ่มสอง ความเงา แกน (อาจลากหลังจากคลิกเพื่อปรับ ความเงา ใหม่)

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

ปรับ Tangents

เพื่อปรับ tangents ที่มีอยู่สำหรับจุดควบคุม個別:

  1. เปิดใช้งานเครื่องมือ เลือก ( V )

    Select tool indicated in the 2D path editor widget.
  2. เลื่อนเมาส์ไปที่ตัวชี้วัด tangent (ไม่ใช่ตรวจคุณที่ควบคุม) แล้วคลิกและลากไปยังตำแหน่งใหม่ หากตัวชี้วัดถูกสะท้อน จุดชี้วัดคู่จะเคลื่อนที่ไปด้วยกัน

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

เพื่อการตั้งค่าตำแหน่งเฉพาะ UDim2 สำหรับ tangent:

  1. เปิดใช้งานเครื่องมือ เลือก ( V ) และเลือกจุดควบคุม ในหน้า พิกัด ของ 1>โปรไฟล์1>

    LeftTangent and RightTangent properties of a Path2D control point indicated in the Properties window.
  2. ตั้งตำแหน่งสำหรับ LeftTangent และ/หรือ RightTangent โปรดทราบว่านี่จะทำให้เกิดการ แสดงผลแบบกระจาย ของ tangents

การลบ tangents

เพื่อลบทั้งสอง tangents จากจุดควบคุมให้เลือก ล้าง tangents จากเมนูป๊อปอัปบริบทัศน์จากบริบทัศน์

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

เพื่อลบเพียงหนึ่งใน tangents (ซ้ายหรือขวา) เลือกมาร์คเกอร์ของ tangents แล้วเลือก ลบ tangents

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

การแก้ไขและการสะท้อนแสง

โดยปกติ, เหลี่ยมกระจกจะกระจายกัน เมื่อคุณ ลากเพื่อปรับแต่ละเหลี่ยมกระจก, จุดเชื่อมต่อของเหลี่ยมกระจายจะย้ายไปในคู่

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

เพื่อ "พัง" เหลี่ยมเพื่อให้ผู้คนสามารถย้ายได้อย่างอิสระกันโดยอาจเลือกแต่ละเหลี่ยมเพื่อให้เห็นภาพรวมของเหลี่ยมเพื่อสร้างความสัมพันธ์กัน จากนั้นเลือก พังเหลี่ยมเพื่อ

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

สร้างลักษณะทางสาย

คุณสามารถปรับแต่งรูปลักษณ์ของ Class.Path2D ด้วยคุณสมบัติต่อไปนี้:

สมบัติคำอธิบาย
Color3ตั้งสีของเส้นทาง
Thicknessตั้งค่าความหนาของเส้นทางในพิกเซล
Visibleทำให้เส้นทางมองเห็นได้หรือไม่ในทั้งแก้ไขและรันไดร์
ZIndexสั่งให้เส้นทางเรนเดอร์เมื่อเปรียบเทียบกับ GUIs อื่น
Diagram illustrating a path with Thickness of 2 and Color3 of (125, 125, 125).
ความหนา = 2Color3 = (125, 125, 125)
Diagram illustrating a path with Thickness of 10 and Color3 of (225, 0, 50).
ความหนา = 10สี 3 = (225, 0, 50)
Diagram illustrating a path layered in front of another using the ZIndex property.
ZIndex ชั้นหน้าผัง

สคริปต์เส้นทาง

การเขียนสคริปต์เป็นประโยชน์สำหรับหลายเส้นทางงาน ตัวอย่างต่อไปใช้วิธีการเช่น Class.Path2

จัดวางรายการวัตถุ UI ทั่วเส้นทาง

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
-- จัดเรียง UI เด็กในแสงนำทางครั้งแรก
arrangeChildren()
-- ฟังเด็ก ๆ เพิ่ม/ลบเพื่อปรับแต่งการจัดเรียง
parent.ChildAdded:Connect(arrangeChildren)
parent.ChildRemoved:Connect(arrangeChildren)
ดึง Objekt UI มาในเส้นทาง

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