RayValue

Pokaż przestarzałe

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

RayValue jest obiektem, którego celem jest przechowywanie pojedynczego promienia. Podobnie jak CFrameValue, przechowywany promień Ray nie może być wyświetlany lub edytowany w oknie Proprietści w studio. Zamiast tego użyjте linii takiej jak poniżej, aby utworzyć nowy promień o nazwie "Value" w Class.Workspace

Instance.new("RayValue").Value = Ray.new(Vector3.new(0, 50, 0), Vector3.new(10, 0, 0))

Ponieważ nie ma trywialnego sposobu na edytowanie promieni w Studio, czasami lepiej jest użyć CFrameValue zamiast tego (który można zmienić poprzez część lub kamerę). Można zrekonstruować promień z użyciem Ray.new(cf.p, cf.lookVector * dist), gdzie cf to jest dany

Podobnie jak wszystkie obiekty „-Value”, ten pojedynczy wartości są przechowywane w właściwości Value. Wystąpienie zmienione dla tego (i innych obiektów, takich jak niego) zostanie uruchomiony z nową wartością przechowywana w obiekcie, zamiast ciągu znaków reprezentującego właściwość, która jest zmieniana.

Przykłady kodu

Rays, RayValue and 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 = "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

Właściwości

Value

Odczyt równoległy

Przechowywany Laser.

Metody

Zdarzenia

Changed

Ten wążek zostanie uruchomiony, gdy właściwość RayValue.Value zostanie zmieniona. Będzie on działać z nową wartością przechowywaną w obiekcie argumentu, zamiast być właściwością zmienianą.

Ten wątek, podobnie jak inne zmienione wątki, może być używany do śledzenia, kiedy RayValue się zmienia i śledzenia różnych wartości, które może zmienić.

Zmienne zmiany istnieją dla podobnych obiektów, takich jak NumberValue i StringValue, w zależności od tego, jaki typ obiektu najlepiej odpowiada na potrzeby.

Parametry

value: Ray

Wartość po zmianie.


Przykłady kodu

How to Use 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 = ray