- スターター作品
- なし
- 今回の完成サンプル
- なし

u003cpu003e動くギミックや障害物が大量に配置された超難しいコースをクリアして、ついにキーをゲット、これでドアを開けて次の階層に挑める、やった、と思ったらケアレスミスでマグマに落ちてしまった!って、おいおい最初からやり直しかよ!!もう無理、やめた。u003c/pu003e
↑これは悲しいよね。作り手としても自分の罠にかかってユーザーがマグマに落ちたのはいいけど、それでプレイを中断しちゃうのなら悲しい。ぜひゴールまで攻略してもらい、「楽しかったよ!」とコメントしてほしい。それが人情ってもんだ。
そこで、難しいコースのあとにはチェックポイントを設けて、仮にユーザーがリスポーンしてしまってもスタート地点からではなくて途中のセーブポイントから復活することができれば、どうだろうか。

u003cpu003eうーん、まぁここから再スタートならまだやれるか。よっしゃ、もういっちょ!u003c/pu003e
うんうん、やっぱりチェックポイントがあればユーザーのモチベーションが維持できそうだね!よし、いっしょに作っていこう!
今回の目標
- チェックポイントを作る
- プレイヤーがチェックポイントに触れると、チェックポイントは消える
- プレイヤーがリスポーンすると、スタート地点ではなくチェックポイントから復活できる
スプライト「プレイヤー」のスポーン値を変数化する
まずはプレイヤーからだ。

変数「★スポーンX」

変数「★スポーンY」

変数「★スポーンシーン」

初期化する
定義「スタートする」にて、各変数にセットする値を確認しよう。そして
定義「シーンの切り替え処理を行う」の引数に割り当てておこう。この段階ではたいして意味がないけど、今後チェックポイントを実装する際に変数が役に立つぞ。

ここでは値を変数に入れるブロックを用意しただけで、まだ設置はしてない。このあと続きを見てみよう。
緑の旗が押されたとき
初期化ブロックを設置するのは緑の旗が押されたときでOKだよ。

スポーン地点に変わりがないかテストする
ちょっとしたリファクタリングになったから、動きが変わってないか確認しよう。

スプライト「アイテム」にチェックポイントを追加する
アイテムに追加していくよ。

コスチュームを整える
コスチュームを選ぼう。

flagと入力すると「Green Flag」が見つかるね。これをチェックポイントに使おう。

枠線を8にしてくっきりさせて、サイズも調整しよう。大きさはキミのステージに合わせて整えればOK!小さいままでも構わないよ。

コスチューム名は「チェックポイント」

実行ブロックを置く
セットアップするを受け取ったらスポーンするようにしていく。

チェックポイントが配置されたかテストする
よし、他のアイテムと同じようにフワフワしてるし、プレイヤーに触れるとスッと消えるね!いままで作った部分が再利用できて気分は上々だぜ!
チェックポイント専用の処理を追加する
クローンされたときに条件ブロックを追加しよう。ちょっと追加する場所が複雑かも。ネスト(入れ子)になってて分かりにくいからスクショを見て注意深く追加してね。

条件式でチェックポイントか確かめる
チェックポイントならスポーンに関連する変数の値を更新しちゃおう!こうすればどこにチェックポイントを置いてもいちいち処理を追加せず、その場の座標を取得できるね。らくちん!

チェックポイントからリスポーン出来るかテストする
マグマに落ちたプレイヤーがチェックポイントから復帰できてる様子が見て取れるね!よっしゃ!
チェックポイントは何個あってもいい
増やしてみようか。

何個あってもしっかり機能していることを確認する
うん、しっかり最新のチェックポイントの座標からプレイヤーがリスポーンしているね!こりゃ開発者もユーザーもどっちにも嬉しいスーパー便利機能ができちゃいましたね、社長!
まとめ
チェックポイントができた!これでどんなに難しいアスレを作っても、しっかりチェックポイントがあれば文句は言われないw むしろ難しくしてくれて、広大なアスレを作ってくれて、めっちゃサンキューな感じになるんじゃないだろうか!?
ところで!いまってゲームオーバーがないから何回でもやり直せちゃうんだよね。チェックポイントができたから、そろそろゲームオーバーも作って緊張感のあるプレイ体験を提供したいところだね。ゲームオーバーになったら基本的にスタート地点からやり直し、っていうペナルティが発生するからね。まぁ、作り方次第ではなんとでもなるけど。
ひゅー!ついでにタイトルとかも用意して、ゲームとしての格式を高めようか!楽しみすぎる!