親と子

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

ServerScriptService からスクリプトを実行するのではなく、パーツにスクリプトを付属させたい場合があります。たとえば、スクリプトを使用してパーツをトラップに変換したり、パーツに触れるとプレイヤーにポイントを付与するようにします。スクリプトとパーツが階層でどのように関連しているかを理解することで、どのパーツを使用するかを名前付けることなく自動的に動作するスクリプトを作成できます。

これを行うには、 親と子の関係 を理解する必要があります。

親と子は、異なるオブジェクトの間の階層を説明する方法です。ワークスペースに新しいパーツを追加したときは、ワークスペースが親オブジェクトであり、パーツは子オブジェクトになりました。ServerScriptService にスクリプトを追加したとき、ServerScriptService は親であり、スクリプトは新しい子供でした。

プロジェクトとスクリプトを設定する

親と子の関係を示すには、色を変更する単一のパーツから始めて、スクリプトを複数のパーツに複製します。

  1. 新しいパーツを作成し、名前を変更します。このレッスンでは、カラーパーツを使用します。

  2. 右クリックして パーツ を選択し、 オブジェクトを挿入 > 新しいスクリプト を選択します。スクリプトの名前を ColorChanger に変更します。

  3. コードを ColorChanger にコピーして貼り付けます。このコードバージョンは、以前使用したものと同じです。特定の部分を変数に割り当てます。

    色パーツの色を変更

    local Workspace = game:GetService("Workspace")
    local colorPart = Workspace.ColorPart
    colorPart.Color = Color3.fromRGB(50, 240, 255)

4.部品が希望通りの色で変更されているかをテストし、チェックします。

親と子の関係

A は、下に付属するスクリプトやパーツのようなオブジェクトを持つものです。親の下にあるものはすべて、 子供 です。以下の例では、ColorPart が親であり、ColorChanger が子です。

現在のスクリプトでは、 単一のパーツ の色を変更できるのは ColorPart という名前のものだけです。任意のパーツの色を変更するには、スクリプトの親オブジェクトで動作するコードを設計し、名前が何であれ、起こる可能性があります。コード script.Parent は、階層を上がって、スクリプトに付属するオブジェクトを見つけます。

スクリプト.Parent を使用

script.Parent は、= シンボルで他の値と同じように変数に割り当てることができます。

  1. スクリプトで、名前のついたパーツを script.Parent で置換します。以下のコードをチェックします。

    親オブジェクトの色を変更

    local colorPart = script.Parent
    colorPart.Color = Color3.fromRGB(50, 240, 255)

テスト可能な再利用部品

変数がスクリプトに付属するパーツを参照するようになったので、必要なだけのコピーを作成できます。

  1. 色の部分を右クリックし、[複製] を選択するか、ホットキー ( > 《6》)を使用します。少なくとも3つの総部品を作成します。

  2. ゲームを実行して、すべてのパーツが色を変更しているかをチェックします。

概要

名前と場所で常に直接パーツを参照するのではなく、スクリプト.Parent を代替として使用できます。そのコードは、スクリプトが付属している親またはオブジェクトを捕捉し、スクリプトがそれに変更を加えるようにします。script.Parent のようなコードを使用すると、コードを再利用可能にするのに便利です。覚えておくべき一つの欠点は、コードを変更したい場合、更新が必要な複数のスクリプトがあるということです。