Unity事例ノート

UNITY

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

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

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

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

オブジェクトの準備

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

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

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

①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が削除されます。

SCHOOL教室案内