RayValue
*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.
Bir RayValue, tek bir Ray'i depolamak için kullanılan bir nesnedir. CFrameValue ile benzer, bir RayValue'in depolanmış ray’si Propetler penceresinde görüntülenemez veya düzenlenemez. Bunun yerine, Command barını kullanarak bu nesnelerin değerini yaratabilir ve ayarlay
Instance.new("RayValue").Value = Ray.new(Vector3.new(0, 50, 0), Vector3.new(10, 0, 0))
Stüdyo içindeki ışınları düzenlemek için herhangi bir önyükleme yoksa, bazen CFrameValue yerine kullanmak daha iyidir (bu bir parçadan veya kamera üzerinden değiştirilebilir). Bir CFrame'ı Ray.new(cf.p, cf.lookVector * dist) kullanarak yeniden inş
Tüm "Value" nesneleri gibi, bu tek değer değer alanına saklanır. Bu nesnin değiştirilen etkinliği (ve diğer nesnelerin değiştirilen etkinliği gibi) değer alanında değerlendirilir, değer değiştirilen nesnelerin değer alanında değerlendirilir.
Kod Örnekleri
local partA = workspace.PartA
local partB = workspace.PartB
local origin = partA.Position
local direction = partB.Position - partA.Position
local ray = Ray.new(origin, direction)
local rayValue = Instance.new("RayValue")
rayValue.Value = ray
rayValue.Name = "PartA-to-PartB Ray"
rayValue.Parent = workspace
-- Raycast to find any parts in between PartA and PartB
local part = workspace:FindPartOnRay(ray)
if part then
print("Hit part: " .. part:GetFullName())
else
-- This ought to never happen, as our ray starts at PartA
-- and points towards PartB, so we should always hit PartB
-- or some other part.
print("No part hit!")
end
Özet
Özellikler
Depolanmış Işın.
Etkinlikler
Değiştirildiğinde RayValue.Value ın değerini aldığımda ateş edildi.
Özellikler
Yöntemler
Etkinlikler
Changed
Bu olay, RayValue.Value özelliği değiştirildiğinde başlar. Yeni değer, değiştirilen özelliğin temsil edildiği bir dizin olarak değil, bir argüman objesi olarak yürür.
Bu olay, diğer değiştirilen olaylar gibi, bir RayValue'ın değişmesini izlemek ve değişmesi gereken farklı değerleri izlemek için kullanılabilir.
Eşdeğer değiştirilen etkinlikler benzer nesneler için mevcut, örneğin NumberValue ve StringValue gibi, ihtiyacın neye en uygun olduğuna bağlı olarak.
Parametreler
Değişiklikten sonra değer.
Kod Örnekleri
local value = Instance.new("RayValue")
value.Parent = workspace
value.Changed:Connect(function(NewValue)
print(NewValue)
end)
local start = Vector3.new(0, 0, 0)
local lookAt = Vector3.new(10, 10, 10)
local ray = Ray.new(start, (lookAt - start).Unit)
value.Value = ray