一个 ObjectValue 是一个用于存储单个引用到另一个对象的引用的对象。如果这个对象在 Studio 中复制,并且值为另一个对象,那么新的对象值将指向复制的对象,而不是原始对象。否则,同一值仍然保留。复制和粘贴这个对象将清除值字段。
值值可以在 Studio 中设置在 Studio 中,像其他引用型字段 (例如 Model.PrimaryPart): 单击属性窗口中的字段,然后单击游戏视图或 Explorer 窗口中的对象。您可以通过单击 X 清除字段 (设置为 nil) 通过单击字段。
像所有“-Value”对象一样,这个单一的值存储在“值”属性中。改变事件对于这个(和其他对象一样)将发生,当新值存储在对象中,而不是在对象中代表属性正在更改。
代码示例
ObjectValue Example
local objectValue = Instance.new("ObjectValue")
objectValue.Name = "MyBaseplateReference"
objectValue.Value = workspace:FindFirstChild("Baseplate")
objectValue.Parent = workspace
概要
活动
发射 当 ObjectValue.Value 发生变更时。
属性
方法
活动
Changed
这个事件会触发,每当 ObjectValue.Value 属性发生变更。它将运行使用新值存储在参数对象中,而不是使用字符串代表属性发生变更。
这个事件,像其他更改的事件,可以用来跟踪当一个 ObjectValue 更改时,以及跟踪它可能更改的不同值。
例实例,这甚至可能在使用 RPG 目标系统等游戏状态追踪器和值的游戏中有用。
对于类似对象,例如 NumberValue 和 StringValue,等级变更为适合需求的最佳对象类型。
参数
更改后的值。
代码示例
ObjectValue Changed
local objectValue = script.Parent.ObjectValue
local part = script.Parent.Part
local function printObject(object)
print(object:GetFullName())
end
objectValue.Changed:Connect(printObject)
objectValue.Value = part