今回つくるゲーム
難易度
今回はスクラッチでマリオオデッセイ風ゲームを作っていきます。マリオオデッセイの最大の特徴は帽子投げです。ここでは、マリオオデッセイのボス戦風に、帽子投げで敵を倒すゲームを作っていきます。プレイヤーの基本的な動き(横移動・ジャンプ)に加え、帽子投げのアクションをどのように作っていくのかを解説します。さらに敵をオートで動かすのでその方法についても解説していきます。格闘ゲームの基本的な考え方がつまっているので、是非マスターしてゲームづくりに活かしてください。
まずは実際にゲームをプレイしてみてください。左右キーで横移動、上キーでジャンプ、スペースキーで帽子投げです。
はじめに
まず、以下をリミックスしてください
こちらにはゲームを作るのに必要な素材が揃っています。
![](https://i0.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/04/スクリーンショット-2022-04-30-16.06.08-1024x559.png?resize=1024%2C559&ssl=1)
プレイヤーの基本の動き
まずはプレイヤーの基本の動きを作っていきます。左右矢印キーで横移動、上矢印キーでジャンプできるようにします。プレイヤーに以下のコードを書きます。このコードはアクションゲームの基本ですので覚えるようにしましょう。
![](https://i1.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/04/スクリーンショット-2022-04-30-16.17.06.png?resize=855%2C623&ssl=1)
ジャンプの勢い、ジャンプ中の変数を作るときはこのスプライトのみにチェックを入れるようにしましょう。後ほど、このコードをコピーしてそのまま敵にも使うためです。
![](https://i0.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/04/スクリーンショット-2022-04-30-16.13.57.png?resize=375%2C396&ssl=1)
![](https://i0.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/04/スクリーンショット-2022-04-30-16.14.05.png?resize=375%2C396&ssl=1)
横移動、ジャンプの動きの詳しい解説はこちらを確認してください。
を押して、実際にプレイヤーを動かしてみましょう。以下のように動けば成功です。
帽子を投げる
次に帽子を投げられるようにします。帽子を投げる時の考え方は以下の通りです。スペースキーを押した時に、プレイヤーが帽子を投げるアクションをして、帽子が現れ飛んでいきます。戻ってくると帽子をキャッチして、帽子は消えます。
![](https://i2.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/04/スクリーンショット-2022-04-30-18.25.14-1024x495.png?resize=1024%2C495&ssl=1)
プレイヤーのコード
まずはプレイヤーのコードです。先ほど書いたコードに以下を追加します。
![](https://i1.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/04/スクリーンショット-2022-04-30-16.11.32.png?resize=854%2C369&ssl=1)
帽子のコード
次に帽子のコードです。
![](https://i2.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/04/スクリーンショット-2022-04-30-16.11.57.png?resize=854%2C646&ssl=1)
動きを確認する
では、実際にスペースキーで帽子を投げてみましょう。以下のように投げた帽子が戻ってこれば成功です。
敵キャラを動かす
次に敵を動かしていきます。
先ほどのプレイヤーのコードをコピーして、敵のコードに以下のように書いていきます。
同じ変数の名前を使い回せるように先ほどジャンプの勢い、ジャンプ中の変数を作るときはこのスプライトのみにチェックを入れました。
プレイヤーと違って敵は自動的に動くようにします。今回は5秒ごとにジャンプしながらプレイヤーに向かってくるようにします。
![](https://i0.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/04/スクリーンショット-2022-04-30-16.17.35.png?resize=855%2C623&ssl=1)
では、実際にを押して、敵キャラの動きを確認してください。以下のように動けば成功です。
敵の攻撃を作る
次に敵の攻撃を作っていきます。攻撃の炎の向きはジャンプ中と地面の上では少し変えるようにします。
![](https://i2.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/04/スクリーンショット-2022-04-30-18.54.40.png?resize=949%2C415&ssl=1)
この条件を踏まえて炎のスプライトに以下のコードを書いていきます。攻撃は1.5秒に一回行います。
(ここを長くすれば敵が強くなり、短くすれば弱くなります。)
![](https://i2.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/04/スクリーンショット-2022-04-30-18.58.42.png?resize=850%2C590&ssl=1)
口から炎が出るようにするために、敵のスプライトの中心点は口にしています。このようにゲームによってコスチュームの中心をずらすのもひとつのテクニックです。
![](https://i1.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/04/スクリーンショット-2022-04-30-19.03.27.png?resize=362%2C274&ssl=1)
次に、攻撃のメッセージを受け取ったとったときに、敵が口をあけるようにしましょう。
敵のスプライトに戻って、以下のようにコードを追加します。
![](https://i2.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/04/スクリーンショット-2022-04-30-16.20.49.png?resize=846%2C637&ssl=1)
以下のように、敵が攻撃してこれば成功です。
体力(HP)を設定する
次に体力(HP)を設定していきます。プレイヤーも敵もHPを100に設定して、攻撃を受けるたびにHPが減っていくようにしましょう。プレイヤーは、炎に当たった時と、敵の体に当たった時でHPの減り方を変えます。また、攻撃を受けるとダメージ効果で体がピカピカ光るようにします。
プレイヤーと敵のスプライトにそれぞれ以下のコードを追加していきます。
![](https://i0.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/04/スクリーンショット-2022-04-30-16.22.13.png?resize=845%2C475&ssl=1)
![](https://i2.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/04/スクリーンショット-2022-04-30-16.23.09.png?resize=845%2C475&ssl=1)
そして、敵のHPが0になれば勝利、プレイヤーのHPが0になれば敗北となります。
ゲーム管理のスプライトに以下のようにコードを書きます。
![](https://i0.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/04/スクリーンショット-2022-04-30-16.26.23.png?resize=605%2C554&ssl=1)
プレイヤーHPと敵HPそれぞれの変数にチェックを入れて、実際にプレイしてみましょう。
体力ゲージを作る
最後に、体力ゲージを作っていきます。体力ゲージはペンツールを使って書いていきます。
HPゲージのスプライトに以下のコードを書いていきます。これも1つの型なので、覚えてしまいましょう。
![](https://i2.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/04/スクリーンショット-2022-04-30-16.25.17.png?resize=844%2C622&ssl=1)
そして、ペンで描いたゲージを囲うゲージ枠をかぶせていきます。ゲージ枠のスプライトに以下のコードを書いて表示させます。
![](https://i1.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/04/スクリーンショット-2022-04-30-16.25.49.png?resize=448%2C193&ssl=1)
これで、体力ゲージは完成です。
体力ゲージに関する詳しい解説はこちらの記事で書いていますので参考にしてください。
これで、以下のように体力ゲージが完成できたはずです。
すべてのコード
これで全てのプログラミングが完成です。炎の出る間隔を調整したり、体力の減り方を調整したりして、自分なりのゲームバランスを作ってみてください。
すべてのコードはこちらから確認できます。