概要
活动
Changed(value: Ray):RBXScriptSignal |
changed(value: Ray):RBXScriptSignal |
代码示例
射线, RayValue 和射线检测
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到PartB的射线"
rayValue.Parent = workspace
-- 使用射线检测查找 PartA 和 PartB 之间的任何部件
local part = workspace:FindPartOnRay(ray)
if part then
print("击中部件: " .. part:GetFullName())
else
-- 这应该永远不会发生,因为我们的射线从 PartA 开始
-- 并指向 PartB,因此我们应该始终击中 PartB
-- 或者其他某个部件。
print("没有击中任何部件!")
endAPI 参考
属性
活动
Changed
参数
代码示例
如何使用 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