見出し画像

ほんとに簡単2Dアクション#07

リスタートについて

これからリスタートを作ります。
けれどその前に簡単にカメラの追従をやっていきましょう。

カメラのムーブをプログラムにするとすごく難しいです。
なのですごく簡単に作ります。

MainCameraをPlayerの子供オブジェクトにします。
なのでドラッグアンドドロップをしてください。
それをするだけカメラがPlayerを追尾するようになります。

カメラのTransformを変えると画面の位置を変えられるので好きな場所にしてみてください。
違和感があるかもしれませんがこれが一番簡単なカメラの追尾です。

ではこれからリスタートを作っていきましょう。
リスタート位置を決めるために
Hierarchyで右クリックしてCreateEmptyで空のオブジェクトを作ってください。
オブジェクトがある位置がリスタートポイントになります。

赤の丸の中にうっすらと丸があるのが分かりますか。
これがリスタートポイントになります。

それをした後に移動でも使ったようなプログラムを書いていきます。
書く場所はリスタートのオブジェクトに入れます。

上の画像を見て下さい。
♯03でやっていたプレイヤーの移動方法と同じです。
リスポーンする条件になるとリスポーンしたい位置に瞬間移動するプログラムを書く予定です。
なので座標を変えるプログラムなので移動と基本は同じプログラムになります。

少し注意が必要です。
Restartのオブジェクトに入れるのでプレイヤーを取得する必要がありました。
なのでpublic GameObjectによりInspectorで参照できるようにしました。
ドラッグアンドドロップで上の赤丸のところにプレイヤーのオブジェクトを入れてください。

今回のプログラムは落とし穴に落ちたら座標を変えることにします。

落ちるとY座標が下に行きますよね。
なので一定のY座標よりも下がってしまった場合にリスタートするというプログラミングにします。

上のようなプログラミングにします。
if文でプレイヤーの座標がYの-10よりも下がった場合は
プログラムを入れたオブジェクトの座標をプレイヤーに入れるというプログラムです。

これだけで落とし穴に落ちた時のリスタートが出来るようになります。

これを使うタイミングを工夫してみたり
リスタートした時にやられた回数をカウントしてみたり
などを使うことでゲームっぽいリスタートに近づいていけます。

このリスタートですが落とし穴だけではなく、エネミーに接触したらなどの条件を変えるだけで応用がすごくできます。

なので自分が作りたい機能をここに追加してみてください。

どうでしたか
これも簡単でしょ。
プログラムなのですが、簡単なものだと1行ちょっとで出来てしまいます。

今までのを組み合わせるとステージによる死にゲー的なものを作ることが出来ると思います

次回ではアニメーションについてやろうと思います
ぜひお楽しみに