RayValue

사용되지 않는 항목 표시

*이 콘텐츠는 AI(베타)를 사용해 번역되었으며, 오류가 있을 수 있습니다. 이 페이지를 영어로 보려면 여기를 클릭하세요.

RayValue 는 단일 레이를 저장하는 개체입니다. CFrameValue 와 유사하게, 저장된 레이는 속성 창에서 볼 수 없거나 편집할 수 없습니다. 대신, 레이 값을 사용하여 이 개체의 이름을 만들고 속성 창에서 보시오.

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

Studio에서 레이를 편집하는 방법이 없기 때문에 CFrameValue 대신 사용하는 것이 좋습니다(이는 부품이나 카메라를 통해 변경할 수 있음). Ray.new(cf.p, cf.lookVector * dist) 를 사용하여 레이를 재구성하는 경우 cf

모든 "-Value" 개체와 마찬가지로 이 단일 값은 값 속성에 저장됩니다. 이 (및 속성을 변경하는 기타 개체와 마찬가지로) 변경된 이벤트는 개체에 저장된 새 값으로 발생하며, 속성을 변경하는 대신 문자열을 나타내는 문자열이 아닙니다.

코드 샘플

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

속성

Value

병렬 읽기

저장된 레이.

메서드

이벤트

Changed

이 이벤트는 속성 Class.RayValue.Value 가 변경될 때마다 발생합니다. 새 값이 인수 개체에 저장되므로 속성이 변경된 것처럼 나타나는 문자열이 아닌 개체를 실행합니다.

이 이벤트는 다른 변경된 이벤트와 마찬가지로 변경된 레이 값을 추적하고 변경될 수 있는 다른 값을 추적하는 데 사용할 수 있습니다.This event, like other changed events, can be used to track when an RayValue changes and to track the different values that it may change to.

변경된 이벤트는 대상, 예를 들어 NumberValueStringValue와 같은 유사한 개체에 대해 변경된 이벤트가 있습니다. 필요에 가장 적합한 개체 유형에 따라 Class.StringValue 및 2>Class.NumberValue2>가 있습니다.

매개 변수

value: Ray

변경 후의 값.


코드 샘플

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