お電話でのお問い合わせ
電話をかける
電話をかける メニューボタン
学習コンセプトカリキュラム・料金教室紹介無料体験授業

フタバゼミ
ゼミノート

【Unity C#】他のスクリプトの関数を実行する

player(緑のキューブ)が前に進んでいって、Z座標:5まで来たときに、Sphere(赤い)が出現。

この動きを、player側のスクリプトから、Sphere側の関数を実行させる形で作ってみます。

受け側(Sphere)のコード

まずは、Sphere側のコードを、BallActive.csとしました。

まず、Start()の時は非表示。

今回は、BallSet()という関数をつくり、これが実行されると表示させたいと思います。

ここで忘れがちなのが、publicを付けること。

外部からアクセス可にするので、これは絶対に必要です。

アクセスする側(player)のコード

player側のコードは、Move.csとしました。

プレビューを押して、Z座標5のところでplayerが消滅、Sphereが出現すればOKです。

ちなみに、こんなエラーが出ることがあります。

NullReferenceException: Object reference not set to an instance of an object

これ、Findでゲームオブジェクトの参照を試みたものの、きちんと見つからなかったんですね。

この場合、Unityを再起動することで、治ってくれるケースが多いです。

制作の途中でファイル名を変えたりで、Findの参照がおかしくなっていたのかもしれません。

ある条件によって、他のクラスの関数を呼び出す方法でした。