對象值是一個儲存單一參考到另一個對象的目的的對象。如果此對象在 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".
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,取決於哪種物件類型最適合需求。
參數
變更後的值。
範例程式碼
This example prints the path to the newly reference instance when the ObjectValue's value property is 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