ObjectValue

显示已弃用

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

对象值是一个用于存储单个对另一个对象的引用的对象。如果该对象在 Studio 中复制,且值指向正在复制的对象,那么新的 ObjectValue 将指向复制的对象而不是原始对象。否则,保留相同的值。复制并粘贴此对象将清除值字段。

这的值可以像其他参考类型字段一样在 Studio 中设置(例如 Model.PrimaryPart):单击属性窗口中的字段,然后单击您希望将其设置为游戏视图或 Explorer 窗口的对象。您可以通过单击字段时出现的 X 清除字段(将其设置为 nil)。

像所有 "-Value" 对象一样,这个单值被存储在价值属性中。为此更改的事件(以及其他类似的对象)将使用新值在对象中存储,而不是使用代表被更改的属性的字符串发射。

代码示例

This code sample creates an ObjectValue in the Workspace which holds a reference to an object in the workspace named "Baseplate".

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

更改后的值。


代码示例

This example prints the path to the newly reference instance when the ObjectValue's value property is changed.

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