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)を使用します。合計で少なくとも3つのパートを作成します。
ゲームを実行して、すべてのパートが色を変えることを確認します。
まとめ
常に名前と位置でパートを直接参照する代わりに、script.Parentを代替手段として使用できます。そのコードは、スクリプトが付属している親またはオブジェクトを取得し、スクリプトがそれに対して変更を加えることを可能にします。script.Parentのようなコードを使用することで、コードを再利用可能にすることができます。覚えておくべき欠点の1つは、コードを変更したい場合に複数のスクリプトを更新する必要があることです。