2D yollar

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

Path2D örneği, API yöntemleri ve özellikleri ile birlikte, sayfa tabanlı animasyonlar ve grafik editörleri gibi kullanıcı arayüzü efektleri için faydalı olan 2D spline'lar ve 2D eğik çizgiler oluşturmanıza olanak tanır.

2D yol oluşturma

Bir Path2D nesnesini ekrana veya deneyim içindeki bir nesneye eklemek için:

  1. Explorer penceresinde, görünür bir ScreenGui veya SurfaceGui altında bir Path2D örneği ekleyin (doğrudan çocuk olması gerekmez).

    Explorer hiyerarşisinde bir ScreenGui'ye bağlı Path2D örneği.
  2. Yeni Path2D nesnesini seçin ve alan içindeki araç widget'ını ortaya çıkarın. Varsayılan olarak, Nokta Ekle aracı seçili olacaktır.

    2D yol editöründe Nokta Ekle aracı belirtildi.
  3. Ekranda tıklayarak bir yol oluşturmak için bir dizi kontrol noktası eklemeye başlayın. Başlangıçta yol büyük ihtimalle kesin olmayacaktır, ancak daha sonra herhangi bir kontrol noktasının konumunu ince ayar yapabilirsiniz.

    Nokta Ekle aracı kullanılarak bir dizi noktayı birleştiren bir yolun oluşturulduğu örneği gösteren diyagram.
  4. İşiniz bittiğinde, widget'ın Tamam butonuna tıklayın veya Enter tuşuna basın.

Kontrol noktalarını değiştirme

Explorer hiyerarşisinde bir Path2D seçili iken, bireysel kontrol noktalarını ve bunların tanjantlarını değiştirebilirsiniz.

Noktaları hareket ettirme

Bir yol üzerindeki bireysel bir kontrol noktasını taşımak için, Seç aracını (V) etkinleştirin ve ardından tıklayıp sürükleyerek yeni bir konuma taşıyın.

2D yol editöründe Seç aracı belirtildi. Seç aracı etkinleştirildiğinde bir yol kontrol noktasının yeni bir konuma tıklayıp sürüklenerek nasıl taşındığını gösteren diyagram.

Çok spesifik bir konumlandırma için kontrol noktasını seçin ve ardından Özellikler penceresinde noktanın SelectedControlPointData özelliği için yeni bir konum ayarlayın (UDim2).

Özellikler penceresinde bir Path2D örneğinin SelectedControlPointData özelliği belirtildi.

Bir noktanın konumunun mutlak olmadığını, daha ziyade yolun ebeveyn konteynerine ilişkili olduğunu unutmayın. Örneğin, bir ScreenGui içindeki bir yol için soldan %30 ve yukarıdan %20 mesafede bir kontrol noktasını, bir Frame içinde yerleştirilen benzer bir yolla karşılaştırın.

Yol kontrol noktalarının konumlarının ebeveyn konteynerlerine ilişkili olduğunu gösteren diyagram.

Nokta ekleme

Yeni kontrol noktaları, Path2D nesnesine iki mevcut nokta arasında veya her bir ucundan Nokta Ekle aracı (P) kullanılarak eklenebilir.

2D yol editöründe Nokta Ekle aracı belirtildi.
Nokta Ekle aracı kullanılarak iki mevcut nokta arasında bir kontrol noktasının nasıl eklendiğini gösteren diyagram.
Yolun üzerine hoverlayın ve iki mevcut nokta arasında bir kontrol noktası eklemek için tıklayın
Nokta Ekle aracı kullanılarak bir yolun ucuna bir kontrol noktasının nasıl eklendiğini gösteren diyagram.
Bir uç noktaya tıklayın ve ardından o uçtan bir kontrol noktası eklemek için tekrar tıklayın

Noktaları silme

Bir kontrol noktasını silmek için, üzerine gelin ve sağ tıklayın, ardından bağlam menüsünden Nokta Sil seçeneğini seçin.

Bir yol kontrol noktasının, sağ tıklanarak silinmesi ve Nokta Sil seçeneğinin seçilmesi yoluyla nasıl silindiğini gösteren diyagram.

Kontrol noktası tanjantları

Kontrol noktası tanjantları, bir yol üzerindeki eğrileri oluşturmanıza ve ayarlamanıza olanak tanır.

Bir dizi tanjant kontrol noktasına sahip eğik bir yolu gösteren diyagram.

Tanjant ekleme

Zaten tanjantı olmayan herhangi bir kontrol noktasına tanjant eklemek için:

  1. Araç widget'ında Tanjant Ekle aracını etkinleştirin.

    2D yol editöründe Tanjant Ekle aracı belirtildi.
  2. İstediğiniz kontrol noktasının üzerine hoverlayın, ardından iki ayna tanjant eklemek için tıklayın (isteğe bağlı olarak, tıkladıktan sonra yeni tanjantları ayarlamak için sürükleyin).

    Tanjant Ekle aracı ile tanjantları olan bir yol kontrol noktasının nasıl oluşturulduğunu gösteren diyagram.

Tanjantları ayarlama

Bireysel bir kontrol noktası için mevcut tanjantları ayarlamak için:

  1. Seç aracını (V) etkinleştirin.

    2D yol editöründe Seç aracı belirtildi.
  2. Bir tanjant işaretleyicisinin üzerine gelin (kontrol noktası değil), ardından tıklayıp sürükleyerek yeni bir konuma taşıyın. Tanjantlar ayna ise, eşleştirilmiş tanjant noktası da senkronize bir şekilde hareket edecektir.

    Seç aracı etkinleştirildiğinde, bir kontrol noktasının tanjantlarının nasıl ayarlandığını gösteren diyagram.

Belirli bir UDim2 konumu için bir tanjant ayarlamak için:

  1. Seç aracını (V) etkinleştirin ve kontrol noktasını seçin. Özellikler penceresinde, SelectedControlPointData alanını genişletin ve LeftTangent ve RightTangent özelliklerini açığa çıkarın.

    Özellikler penceresinde bir Path2D kontrol noktasının LeftTangent ve RightTangent özellikleri belirtildi.
  2. LeftTangent ve/veya RightTangent için konumu ayarlayın. Bunun, tanjantların ayna davranışını "bozacağını" unutmayın.

Tanjant silme

Bir kontrol noktasından her iki tanjantı silmek için, üzerine gelin ve sağ tıklayın, ardından bağlam menüsünden Tanjantları Temizle seçeneğini seçin.

Bir kontrol noktasının her iki tanjantının nasıl silineceğini gösteren diyagram, sağ tıklanarak ve Tanjantları Temizle seçeneği seçilerek.

Sadece bir tanjantı (sol veya sağ) silmek için, o tanjant işaretleyicisinin üzerine gelin ve sağ tıklayın, ardından Tanjantı Sil seçeneğini seçin.

Bir kontrol noktasının bir tanjantının nasıl silineceğini gösteren diyagram, sağ tıklanarak ve Tanjantı Sil seçeneği seçilerek.

Kırma ve aynalama

Varsayılan olarak, tanjantlar birbirini aynalar. Bir tanjant işaretçisini sürüklemek için sürüklerseniz, eşleştirilmiş tanjant noktası da senkronize olarak hareket edecektir.

Seç aracı etkinleştirildiğinde, bir kontrol noktasının tanjantlarının nasıl ayarlandığını gösteren diyagram.

Her birinin diğerinden bağımsız olarak hareket edebilmesi için tanjantları "kırmak", ilgili kontrol noktasının üzerine gelin ve sağ tıklayın, ardından bağlam menüsünden Tanjantları Kır seçeneğini seçin. Kırıldıktan sonra, her bir tanjant işaretçisini hareket ettirebilirsiniz.

Tanjantların nasıl kırılacağını gösteren diyagram, sağ tıklanarak ve Tanjantları Kır seçeneği seçilerek.

Yolun görsel özellikleri

Bir Path2D'nin görsel görünümünü aşağıdaki özelliklerle özelleştirebilirsiniz:

ÖzellikAçıklama
Color3Yol çizgisinin rengini ayarlar.
ThicknessYol çizgisinin kalınlığını piksel cinsinden ayarlar.
VisibleYolun hem düzenleme hem de çalışma zamanında görünür veya gizli olmasını sağlar.
ZIndexBir yolun diğer GUI'lere göre render edildiği sırayı belirler.
Kalınlık 2 ve Color3 (125, 125, 125) olan bir yolu gösteren diyagram.
Kalınlık = 2
Color3 = (125, 125, 125)
Kalınlık 10 ve Color3 (225, 0, 50) olan bir yolu gösteren diyagram.
Kalınlık = 10
Color3 = (225, 0, 50)
ZIndex özelliği kullanılarak bir yolun başka bir yolun önünde katmanlandığını gösteren diyagram.
ZIndex katmanlama

Yol betimleme

Betimleme, birkaç yol ile ilgili iş akışları için yararlıdır. Aşağıdaki örneklerde, GetControlPoints() gibi yöntemler kullanılmaktadır, bu yöntem bir Path2DControlPoints tablosunu döndürür ve GetPositionOnCurveArcLength() yöntemi, spline üzerinde belirli bir t değeri için UDim2 konumunu döndürür.

Yol Üzerinde UI Nesnelerini Düzenleme

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
-- Başlangıçta çocuk UI nesnelerini yol boyunca düzenle
arrangeChildren()
-- Düzenlemeyi ayarlamak için çocukların eklenip çıkarılmasını dinleyin
parent.ChildAdded:Connect(arrangeChildren)
parent.ChildRemoved:Connect(arrangeChildren)
Yol Boyunca UI Nesnesini Animasyonla Hareket Ettirme

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()
©2026 Roblox Corporation. Roblox, the Roblox logo and Powering Imagination are among our registered and unregistered trademarks in the U.S. and other countries.