Kelas Engine
RayValue
*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.
Rangkuman
Acara
Changed(value: Ray):RBXScriptSignal |
changed(value: Ray):RBXScriptSignal |
Contoh Kode
Sinar, RayValue dan Raycasting
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 = "Ray PartA-ke-PartB"
rayValue.Parent = workspace
-- Raycast untuk menemukan bagian apa pun di antara PartA dan PartB
local part = workspace:FindPartOnRay(ray)
if part then
print("Bagian yang terdeteksi: " .. part:GetFullName())
else
-- Ini seharusnya tidak pernah terjadi, karena sinar kita dimulai di PartA
-- dan mengarah ke PartB, jadi kita seharusnya selalu mengenai PartB
-- atau bagian lain.
print("Tidak ada bagian yang terdeteksi!")
endReferensi API
Properti
Acara
Changed
Parameter
Contoh Kode
Cara Menggunakan RayValue.Changed
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 = raychanged