学习
引擎类
Object
无法创建
未复制

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


概要
方法
IsA(className: string):boolean
isA(className: string):boolean
已弃用
活动

API 参考
属性
ClassName
只读
未复制
读取并联
Object.ClassName:string
代码示例
类名
for _, child in workspace:GetChildren() do
if child.ClassName == "Part" then
print("找到一个部件")
-- 将在模型中找到部件,但不会找到 TrussParts、WedgeParts 等
end
end

className
已弃用

方法
GetPropertyChangedSignal
Object:GetPropertyChangedSignal(property:string):RBXScriptSignal
参数
property:string
代码示例
旧值到新值的变化
local part = Instance.new("Part")
local currentColor = part.BrickColor
local function onBrickColorChanged()
local newColor = part.BrickColor
print("颜色从", currentColor.Name, "更改为", newColor.Name)
currentColor = newColor
end
part:GetPropertyChangedSignal("BrickColor"):Connect(onBrickColorChanged)
part.BrickColor = BrickColor.new("Really red")
part.BrickColor = BrickColor.new("Really blue")
Changed 和 GetPropertyChangedSignal
local part = Instance.new("Part")
local function onBrickColorChanged()
print("我的颜色现在是 " .. part.BrickColor.Name)
end
local function onChanged(property)
if property == "BrickColor" then
onBrickColorChanged()
end
end
part:GetPropertyChangedSignal("BrickColor"):Connect(onBrickColorChanged)
part.Changed:Connect(onChanged)
-- 触发一些变化(因为我们连接了两次,
-- 这两个都会导致 onBrickColorChanged 被调用两次)
part.BrickColor = BrickColor.new("Really red")
part.BrickColor = BrickColor.new("Institutional white")

IsA
写入并联
Object:IsA(className:string):boolean
参数
className:string
返回
代码示例
Instance:IsA()
local Workspace = game:GetService("Workspace")
print(Workspace:IsA("Workspace")) -- 真
print(Workspace:IsA("BasePart")) -- 假
print(Workspace:IsA("Instance")) -- 真

isA
已弃用

活动
Changed
Object.Changed(property:string):RBXScriptSignal
参数
property:string
代码示例
更改事件
-- 通过创建一个 Part 来演示 Changed 事件
local part = Instance.new("Part")
part.Changed:Connect(print)
-- 这会触发 Changed,内容为 "Transparency"
part.Transparency = 0.5
-- 同样,这会触发 Changed,内容为 "Number"
part.Name = "SomePart"
-- 由于更改 BrickColor 也会同时更改其他
-- 属性,因此这一行会触发 Changed
-- 内容为 "BrickColor", "Color3" 和 "Color3uint16"。
part.BrickColor = BrickColor.Red()
-- A NumberValue holds a double-precision floating-point number
local vNumber = Instance.new("NumberValue")
vNumber.Changed:Connect(print)
-- 这会触发 Changed,内容为 123.456(而不是 "Value")
vNumber.Value = 123.456
-- 这不会触发 Changed
vNumber.Name = "SomeNumber"
-- A StringValue stores one string
local vString = Instance.new("StringValue")
vString.Changed:Connect(print)
-- 这会触发 Changed,内容为 "Hello"(而不是 "Value")
vString.Value = "Hello"
更改检测器
local object = script.Parent
local function onChanged(property)
-- 获取属性的当前值
local value = object[property]
-- 打印一条消息,说明发生了什么变化
print(object:GetFullName() .. "." .. property .. " (" .. typeof(value) .. ") 变更为 " .. tostring(value))
end
object.Changed:Connect(onChanged)
-- 触发对象的简单更改(在名称前添加下划线)
object.Name = "_" .. object.Name

©2026 Roblox Corporation、Roblox、Roblox 标志及 Powering Imagination 是我们在美国及其他国家或地区的注册与未注册商标。