読み飛ばして良いまえがき
前回作った自由自在に動く編 → https://ticketnote.dev/ticket/Fw2uFqIxSKbgcgY5irqz
完成予定のScratch → https://scratch.mit.edu/projects/571121487/
今回は、踏んではいけない地面や、障害物、ゴールを作っていきます。
本日の本題
目標地点のサンプル → https://scratch.mit.edu/projects/573031357/
まず、最初にスプライトの準備をします。
スプライト2は幅を縮小、スプライト3を複製して幅を調整、スプライト3は赤(色:0、鮮やかさ:100、明るさ:100)にして全幅にしてあります。
(各スプライトは、左上のコスチュームで色や大きさを変えられます。)
この時点のサンプル → https://scratch.mit.edu/projects/573004739/
次に前回作ったブロック「重力&ジャンプ」ですが、このままだと、「もし◯◯なら…… でなければ……」の壮大な入れ子が発生しそうなので、「色との接触判定」というブロックを作成し、色に触れた処理を分離しておきます。
また「色との接触」という変数を作り、接触していない場合は0、接触している場合は1という運用をします。
こんな風にしています。
ブロック「初期設定」に変数「色との接触」を追加し0を設定、ブロック「色との接触判定」の先頭にも「色との接触」を追加し0を設定、緑と赤に触れた場合は「色との接触」を1にしています。また赤に触れたらゲームオーバーなので、ゲームオーバーっぽいセリフと「すべてを止める」というコードを入れてあります。
これで、この赤い地面を踏むとゲームオーバーという機能が備わりました。
この時点のサンプル → https://scratch.mit.edu/projects/573019490/
次にゴールです。
「スプライトを選ぶ」アイコンから「Balloon」を選択し、ゴールにしたい場所に置いてください。
サイズは仮に猫と同じく50にしています。
またスプライト1に戻り、コードを書きます。
「ゴール」というブロックを作りました。そこに「Balloon1」に触れたら、セリフを言って、「すべてを止める」を設定しました。ブロックゴールは緑の旗を押したあとの「ずっと」の中にも入れておいてください。
この時点のサンプル → https://scratch.mit.edu/projects/573024711/
これで無事、プラットフォーマーのゲームの雛形が完成です! 🎊🎊🎊
ただ…… このままだと、ちょっとさびしいので、少しアレンジを組み込みましょう。
まず、動いているときに猫が固まっているのはさびしいので、少しアニメーションを入れましょう。
こんな感じに「左右の動き」が0以上なら「次のコスチュームにする」を発動させています。
ちなみに、このデフォルトの猫を選んだ状態で、左上のコスチュームタブを選択すると、猫のパラパラ漫画の画像が設定されていることがわかります。こんな風に作っておいて「次のコスチュームにする」と組み合わせると、ばたばた走っているアニメーションができるわけです。
この時点のサンプル → https://scratch.mit.edu/projects/573028562/
せっかくなので、敵も作りましょう。
先程のスプライトを選ぶから「Ladybug2」を選択し、適当なところに配置します。
そして、そのスプライト「Ladybug2」のコードを選択し、こんな風にコードを書きます。
変数「蜘蛛の方向」は、左に進むときには0、右に進むときには1で、左に行き過ぎそうだったら1に変更し、右に行き過ぎそうだったらだったら0に戻すということにしています。
スプライト1…… つまり猫に触れたら「メッセージ1」を送って「すべてを止める」でゲームオーバーにしています。
このメッセージ1というのは、スプライト間でイベントを発生させるためのもので、今回は猫の方でメッセージ1を受け取ったら、ゲームオーバーのメッセージを表示するのに使っています。
この時点のサンプル → https://scratch.mit.edu/projects/573031357/
ひとまずゴールとゲームオーバーが完成したので、今回はここまで。
こうなると次の面が作りたくなると思いますので、次回は面の切り替えを行って最終回にしたいと思います。
シリーズ「おとうさん、おかあさんのためのScratchで作るプラットフォーマー入門」
Twitterもやっているので、よかったらフォローしてください。
https://twitter.com/Kaitou1192