Vector3Value 只是将 Vector3 作为值存储。 此值可用于脚本通信、对象移动到预设位置等。
代码示例
Teleporter Part
-- Paste me in a Script inside a Part
local part = script.Parent
local teleportPosition = part.TeleportPosition
local function onTouch(otherPart)
-- First, find the HumanoidRootPart. If we can't find it, exit.
local hrp = otherPart.Parent:FindFirstChild("HumanoidRootPart")
if not hrp then
return
end
-- Now teleport by setting the CFrame to one created from
-- the stored TeleportPosition
hrp.CFrame = CFrame.new(teleportPosition.Value)
end
part.Touched:Connect(onTouch)
Storing Vector2 inside Vector3Value
local vector3Value = Instance.new("Vector3Value")
-- Store a Vector2 in a Vector3
local vector2 = Vector2.new(42, 70)
vector3Value.Value = Vector3.new(vector2.X, vector2.Y, 0) -- The Z value is ignored
-- Load a Vector2 from a Vector3
vector2 = Vector2.new(vector3Value.Value.X, vector3Value.Value.Y)
print(vector2)
概要
活动
发射,当 Vector3Value.Value 发生变更。
属性
方法
活动
Changed
发射 每当 Vector3Value.Value 的 Vector3Value 改变时。它将运行使用新值存储在参数对中,而不是使用 Vector3Value 来表示属性正在更改。
这个事件,像其他更改的事件,可以用来跟踪Vector3Value的更改时间,以及它可能更改的不同值。
例实例,这可能对于依赖 Vector3Values 在游戏世界中追踪位置的游戏有用。
对于类似对象,例如 NumberValue 和 StringValue,等级变更为适合需求的最佳对象类型。
参数
更改后的新值。
代码示例
How to Use Vector3Value.Changed
local value = Instance.new("Vector3Value")
value.Parent = workspace
value.Changed:Connect(function(NewValue)
print(NewValue)
end)
value.Value = Vector3.new(10, 10, 10)