今回つくるゲーム
難易度
今回はスクラッチでマイクラ風巨大迷路を作っていきます。3Dでそびえ立つ壁の中をプレイヤーが進んでいきゴールを目指します。今回3Dの迷路はすべてペンで描いていきます。プレイヤーが進むにつれて変わる景色をペンを使ってどのように描いていくかを学ぶことができます。スクラッチでペンを使った3Dゲームの入門編としてトライしてみてください。
今回のゲーム作りにトライする前に、3D背景の描き方の基本を先に学習することをオススメします。
まずは実際にゲームをプレイしてみてください。上下矢印キーで移動、左右矢印で回転することができます。ゴールまでチェックポイントが5個ありますので、チェックポイントを頼りにゴールを目指してください。
※今回の記事を書くにあたって、PROCLASS BLOGを参考にさせていただきました。とてもわかりやすく立体の歴史から書かれているので是非読んでみてください。
はじめに
まず、以下をリミックスしてください
こちらにはゲームを作るのに必要な素材が揃っています。
まずは2Dの迷路をつくる
3Dの巨大迷路を作るために、まずは2Dの迷路を作っていきます。設計図のスプライトのコスチュームを見ると、以下のように迷路が作られています。ここで描かれた迷路が最終的には立体になります。好きな絵を描いて迷路にしてみても良いですね。
設計図のコードに以下のようにコードを書いておきましょう。
幽霊の効果は最終的には100にして、設計図を隠します、いまのところは0にしておきましょう。
2Dの迷路をプレイヤーが移動する
次に、この2Dの迷路をプレイヤーが移動します。
プレイヤーのスプライトに移動してコスチュームをみてください。以下のような豆粒のような丸が用意されています。(右に白い丸をつけているのは向いている方向をわかりやすくするためです。)
次に、プレイヤーのコードに以下のようにコードを書きます。これで設計図の迷路の中をプレイヤーが動き回ることができます。
実際にを押して、プレイヤーを動かしてみましょう。きちんと壁で止まるかも確認してください。
3Dの壁を描く準備をする
3D背景の描き方の基本で学んだように、3Dの背景を描くには距離リストを作りその距離リストの通りにペンで壁を描きます。
今回のゲームではプレイヤーから壁までの距離を計測し、それを距離リストに入れていくということをします。以下の図のように、プレイヤーから見て-48°〜48°まで目線を動かしながら距離を測っていきます。移動するたびに視界は変わりますので、その都度リストを作っていくことになります。
視界のスプライトに移動してコスチュームをみると、これまた豆粒のような丸があります。これを視線の方向に発射して距離を測定します。
プレイヤーのコードに戻り、以下のように”視界を作る”のメッセージを追加します。プレイヤーが動くたびに視界を作ります。
次に、視界のスプライトのコードに以下のようにコードを書きます。
これでプレイヤーが移動するたびにリストが更新されていきます。実際距離リストにチェックを入れて確認しましょう。以下のようにプレイヤを移動させると数値が変わっていくのが確認できると思います。
3Dの壁を描く
では、3Dの壁を描いていきましょう。コードは3D背景の描き方の基本で学んだものと同じです。
視界のコードに以下のコードを追加します。
これで壁が描けるようになりました。
設計図とプレイヤーの幽霊の効果を100にしてからを押してプレイしてみてください。以下のようにネコの迷路が3Dになり、その中を進んでいるように見えるのがわかると思います。
チェックポイントを作る
ここまでこればもう少しです。巨大迷路をさまよっていると、自分がどこにいるか分からなくなってしまうので、チェクポイントを設けるようにしましょう。ポイント1のスプライトに移動して、以下のようにコードを書きます。
設計図の透明の効果を80にしてを押してみてください。以下のようにしっぽの付け根の部分にチェックポイント1が設置されているのがわかります。
同様に、ポイント2〜5及び、ゴールのスプライトに以下のようにコードを書きます。
これで以下のように、チェックポイントが設定されます。
キャラクターを表示する
次に、迷路を探索するキャラクターを設置します。今回はペンギンを採用しました。
キャラクターのコードに以下のようにコードを書きます。
上下の矢印キーが押されて移動しているときだけ、ぴょこぴょこ動くようにしています。そしてチェックポントを通過すると、ペンギンがポイント通過中と言って知らせてくれます。
では、実際にプレイしてみましょう。以下のように動けば成功です。
タイムトライアル
最後に、ゴールまでのタイムをはかれるようにします。ゲーム管理のスプライトに移動して、以下のコードを書きます。
すべてのコード
これですべてのプログラミングが終了です。このやり方でやると、どんな絵でも3D迷路にできてしまうので、是非自分だけの迷路を作ってみてください。
すべてのコードはこちらから確認できます。