前回までのおさらい
敵に当たってゲームオーバー。はできたけど、何かがおかしい。
前回までの問題点は、「敵に当たってゲームオーバー」になった時に、キャラクター達が移動(元の位置に戻る)をしなかったので、実行(ゲーム開始)した時に、ゲームオーバーが連続で発生してしまう、という謎の動きが起こりました。
画面は「ゲームオーバー」ですが、裏側でキャラクター達が動き続けています。
(表示させている座標で確認できます)
クローンを使う
ということで、「クローン」を使ってみたいと思います。
クローンとは?
動的に(=スクリプトを用いて)スプライトを複製すること、また複製されたスプライトのこと。
このスプライトの分身(クローン)を上手く使うと、処理が簡単になるようなので使ってみたいと思います!
クローンを作る
![](https://eguweb.jp/wp-content/uploads/202004262035-00-1024x645.jpg)
ゲームオーバー=クローン削除
ゲームオーバーになった時にクローンを削除します。もし反転して落下する、などの動きにしたい場合は、削除をする前に別の動作(回転させるなど)を入れると良さそうです。
![](https://eguweb.jp/wp-content/uploads/202004262106-01-1024x688.jpg)
敵キャラクターもクローンを作る
![](https://eguweb.jp/wp-content/uploads/202004262106-00-1024x605.jpg)
もし「ゲームオーバー」になったら、敵キャラクター(クローン)は削除される。
![](https://eguweb.jp/wp-content/uploads/202004262106-00-1024x605-1.jpg)
ゲームオーバー画面もクローンで。
ゲームオーバー画面もクローンで作っておけば、最後は消すだけで元の状態に戻ることができます(初期化)。
![](https://eguweb.jp/wp-content/uploads/202004262129-00-1024x536.jpg)
クローンの弱点
クローンを作って動かした場合、元のスプライトの座標が分からない?ような気がします。これはなにか方法があるかもしれませんので、調査したいと思います!
完成
![](https://eguweb.jp/wp-content/uploads/movie2-200425-0671222-1024x564.gif)
最初よりは、段々とゲームらしくなってきたような気がします。笑
次は、ジャンプをさせてみる、攻撃ができるようにする、あたりを試してみたいと思います!