Engine Class
Object
*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่
สรุป
วิธีการ
GetPropertyChangedSignal(property: string):RBXScriptSignal |
เหตุการณ์
Changed(property: string):RBXScriptSignal |
ได้รับทอดโดย
เอกสารอ้างอิงเกี่ยวกับ API
คุณสมบัติ
ClassName
ตัวอย่างโค้ด
ชื่อคลาส
for _, child in workspace:GetChildren() do
if child.ClassName == "Part" then
print("พบ Part")
-- จะค้นหา Parts ในโมเดล แต่ไม่ใช่ TrussParts, WedgeParts, ฯลฯ
end
endclassName
วิธีการ
GetPropertyChangedSignal
พารามิเตอร์
ส่งค่ากลับ
ตัวอย่างโค้ด
ค่าจากเก่าถึงใหม่ที่มีการเปลี่ยนแปลง
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("สีแดงจริง")
part.BrickColor = BrickColor.new("สีน้ำเงินจริง")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
isA
เหตุการณ์
Changed
พารามิเตอร์
ตัวอย่างโค้ด
เหตุการณ์ที่เปลี่ยนแปลง
-- แสดงเหตุการณ์ Changed โดยการสร้าง Part
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