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

フタバゼミ
ゼミノート

【Unity C#】他のメソッドを実行する

以前の記事で「他のスクリプトの関数を実行する」というのがあったのですが、今回はまた別の方法で、試してみようと思います。

メソッドとは要するに関数のことなのですが、他のメソッドにアクセスする方法はいつかあります。

前回よりもかなり簡素に実装できますので、ぜひ試してみましょう。

ボール(アクセスする側)

シチュエーションは、赤のボールが、床に衝突すれば、青のキューブを表示させるというもの。

スタートのときに青キューブは非表示。

赤ボールが床にぶつかると、青キューブが表示。

この場合、赤ボール(ball.cs)はアクセスする側ということで、こんな短めのコードを書きました。

赤ボールのほうから、CubeActive()を実行させます。

キューブ(アクセスされる側)

さて、今度は受け側(cube.cs)のコード。

void Awake()以下で、nullのチェック。

これが無ければ、こういったエラーが出ます。

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

CubeActive()にアクセスを試みていますが、その過程で、オブジェクトのインスタンスを参照できなかった。

そこで、void Srart()よりも早く実行されるvoid Awake()を使って、nullを回避しました。

この方法のほうが、メソッドを実行するには簡素で書きやすいですね。