ObjectValue

显示已弃用

*此内容使用人工智能(Beta)翻译,可能包含错误。若要查看英文页面,请点按 此处

一个 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

属性

读取并联

包含一个引用实例。

方法

活动

Changed

这个事件会触发,每当 ObjectValue.Value 属性发生变更。它将运行使用新值存储在参数对象中,而不是使用字符串代表属性发生变更。

这个事件,像其他更改的事件,可以用来跟踪当一个 ObjectValue 更改时,以及跟踪它可能更改的不同值。

例实例,这甚至可能在使用 RPG 目标系统等游戏状态追踪器和值的游戏中有用。

对于类似对象,例如 NumberValueStringValue,等级变更为适合需求的最佳对象类型。

参数

value: Instance

更改后的值。


代码示例

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