與其從 ServerScriptService 執行腳本,您可能想將腳本附加到部件上。例如,使用腳本將部件變成陷阱,或使部件在玩家觸碰時給予分數。通過理解腳本和部件在層級中的關係,您可以創建一個自動運作的腳本,而無需指定要使用的部件名稱。
要做到這一點,您必須理解 父母和子女關係。
父母和子女是描述不同物件之間層級的方式。每當您將新部件添加到 Workspace 時,Workspace 就是父物件,而該部件成為子物件。當您將腳本添加到 ServerScriptService 時,ServerScriptService 是父物件,而該腳本是新的子物件。
設置項目和腳本
為了演示父母和子女關係,您將從一個改變顏色的部件開始,然後將腳本複製到多個部件上。
創建一個新部件並重新命名。這一課將使用 ColorPart。
右鍵單擊 部件,然後選擇 插入物件 ⟩ 新腳本。將腳本重新命名為 ColorChanger。

將以下代碼複製並粘貼到 ColorChanger 中。這個版本的代碼與您之前使用的相同。它將特定部件分配給一個變數。
改變 ColorPart 的顏色local Workspace = game:GetService("Workspace")local colorPart = Workspace.ColorPartcolorPart.Color = Color3.fromRGB(50, 240, 255)測試並檢查部件是否按預期改變顏色。
父母和子女關係
父母 是任何有物件(如腳本或部件)附加在其下方的東西。任何在父母之下的物件都是它的 子女。在下面的示例中,ColorPart 是父母,而 ColorChanger 是子女。

使用當前的腳本,您只能改變名為 ColorPart 的 單個部件 的顏色。要改變任何部件的顏色,您可以設計代碼以作用於腳本的父物件,無論它的名稱是什麼。代碼 script.Parent 將向上查找層級並找到腳本附加的物件。
使用 script.Parent
script.Parent 可以像其他值一樣使用 = 符號分配給變數。
在腳本中,用 script.Parent 替換命名的部件。檢查您的代碼如下。
改變父物件的顏色local colorPart = script.ParentcolorPart.Color = Color3.fromRGB(50, 240, 255)
測試可重用的部件
現在變數將引用腳本附加到的任何部件,您可以隨意製作多個副本。
右鍵單擊顏色部件並選擇複製,或使用熱鍵 CtrlD (⌘D)。總共創建至少三個部件。
運行遊戲以檢查所有部件是否改變顏色。
總結
與其總是直接通過名稱和位置引用部件,不如使用 script.Parent 作為替代。該代碼將抓取腳本附加的父物件,從而讓腳本對其進行修改。使用像 script.Parent 這樣的代碼將對使您的代碼可重用非常有幫助。需要記住的一個缺點是,如果您想更改代碼,現在有多個腳本需要更新。