Unity事例ノート

UNITY

プレーヤーが動いた後、相手が動くしくみ

自分が動いた1秒後に、他のオブジェクトが動くしくみを作ってみましょう。

コンピューターとの間でターン制にしたい場合など、使えるシーンはたくさんあります。

Playerである緑キューブをクリックで動かすと、1秒後に赤キューブが動きます。

関連記事:
他のスクリプトの変数を取得する
他のスクリプトの関数を実行する
他のスクリプトのBoolを取得する

PlayeとComを準備

平面オブジェクトで床をつくり、Cubeを2個用意します。

1つはPlayerと名前をつけて緑色に、もう一方はComと名前をつけて赤色にしました。

2つのCubeには、リジッドボディを追加しましょう。

Com側のスクリプト

Comオブジェクトに、ComMove.csを追加します。

スクリプトは以下のように書きました。

コルーチンを使い、1秒後に力を加えます。

-5の力を加えるので、Playerとは逆方向に動くことになります。

Player側のスクリプト

続いて、PlayerオブジェクトにPlayerMove.csを追加します。

スクリプトを書きましょう。

こちらは、Playerオブジェクトを動かした後に、Com側のメソッドを実行するスクリプトを入れています。

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

プレーヤーの動作後に、コンピューター側が動く。

クリックの連射防止を入れたり、秒数を調整すれば、ちょっとしたターン制ゲームも構想できますね。

関連記事:
他のスクリプトの変数を取得する
他のスクリプトの関数を実行する
他のスクリプトのBoolを取得する

SCHOOL教室案内