Unity事例ノート

UNITY

他のスクリプトのBoolを取得する

Booleanの真偽について、他のオブジェクト内にあるスクリプトを参照して取得してみましょう。

他のスクリプトのBoolを取得する方法について、3つの方法を試してみます。

今回の例では、ぶつかればCubeのほうでBoolのフラグを立て、trueのときにCubeを削除します。

オブジェクトの準備

まずは、SphereとCubeの2つを作成します。

Sphereにリジッドボディを追加します。

CubeAccept.csと、SphereMove.csを作成し、それぞれのオブジェクトに追加します。

関連記事:
【Unity C#】他のスクリプトの変数を取得する
【Unity C#】他のスクリプトの関数を実行する
【Unity C#】他のオブジェクトの配列を取得する
【Unity C#】他のオブジェクトの動きを止める
【Unity C#】ある条件になった時だけ実行可能にする(bool型)
【Unity C#】キーを押すたびにBoolを切り替える

①instanceを使って取得する方法

instanceを使用してアクセスし、boolを取得します。

まずはCube(Boolフラグを立てる側)のスクリプトを書きます。

CubeAccept.csを記述します。

続いて、Sphere(Boolにアクセスする側)のスクリプトを書きます。

SphereMove.csを記述します。

ゲームプレイしてみましょう。

CubeAcceptクラスにアクセスして、isTouchedを取得。

isTouchedがtrueになれば、Sphereオブジェクトが消えます。

②Findで参照する方法

GameObject.Findを使って、他のBoolを取得してみましょう。

Cube(Boolフラグを立てる側)から作成します。

CubeAccept.csを記述します。

プレーヤーのSphere(Boolにアクセスする側)のスクリプトを作成します。

SphereMove.csを記述します。

ゲームプレイしてみましょう。

Cubeに触れるとisTouchのフラグが立ちます。

これを取得したSphereが削除されます。

③直接フィールドに入れて参照する方法

続いて、直接フィールドに入れて、他のスクリプトのBoolを取得できるようにしましょう。

Cube(Boolフラグを立てる側)から作成します。

CubeAccept.csを記述します。

プレーヤーのSphere(Boolにアクセスする側)のスクリプトを作成します。

SphereMove.csを記述します。

フィールドに、Cubeオブジェクトを入れます。

ゲームプレイしてみましょう。

Cubeに触れるとisTouchのフラグが立ちます。

これを取得したSphereが削除されます。

関連記事:
【Unity C#】他のスクリプトの変数を取得する
【Unity C#】他のスクリプトの関数を実行する方法
【Unity C#】他のオブジェクトの配列を取得する
【Unity C#】他のオブジェクトの動きを止める
【Unity C#】ある条件になった時だけ実行可能にする(bool型)
【Unity C#】キーを押すたびにBoolを切り替える