サーバースクリプトサービスからスクリプトを実行する代わりに、パートにスクリプトを取り付けることを検討するかもしれません。たとえば、スクリプトを使用してパートをトラップに変えたり、パートに触れたプレイヤーにポイントを与えたりします。スクリプトとパートが階層内でどのように関連しているかを理解することで、どのパートを使用するかを名前で指定せずに自動的に機能するスクリプトを作成できます。
これを行うには、親子関係を理解する必要があります。
親と子は、異なるオブジェクト間の階層を説明する方法です。新しいパートをWorkspaceに追加するたびに、Workspaceが親オブジェクトとなり、パートが子オブジェクトになります。サーバースクリプトサービスにスクリプトを追加したとき、サーバースクリプトサービスが親となり、スクリプトが新しい子になりました。
プロジェクトとスクリプトの設定
親子関係を示すために、色を変える単一のパートから始め、スクリプトを複数のパートに複製します。
新しいパートを作成し、名前を変更します。このレッスンでは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つは、コードを変更したい場合、複数のスクリプトを更新する必要があることです。