今回つくるゲーム
難易度
今回はスクラッチでドンキーコング風ゲームを作っていきます。上から坂道を転がってくる”たる”を避けながら上を目指します。今回のゲームのポイントは坂道とはしごです。どのようにコードを書けば坂道やはしごを自由に行き来できるのかを解説していきます。是非チャレンジしてみてください。
まずは実際にゲームをプレイしてみてください。左右矢印キーでネコを操作しスペースキーでジャンプをします。ペンギンを助け出す(触れる)ことができればクリアで、それまでのタイムを競います。
はじめに
まず、以下をリミックスしてください
こちらにはゲームを作るのに必要な素材がすべて含まれています。
![](https://i2.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/10/スクリーンショット-2022-10-01-13.24.13-1024x604.png?resize=653%2C385&ssl=1)
ステージを作る
まず背景をつくっていきます。ステージは真っ黒な背景の上に坂道とはしごでできています。坂道とはしごを別々のスプライトで用意しているのがポイントです。それぞれのスプライトに以下のようにコードを書いていきましょう。
![](https://i0.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/10/スクリーンショット-2022-10-01-13.30.45.png?resize=610%2C235&ssl=1)
![](https://i0.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/10/スクリーンショット-2022-10-01-13.30.50.png?resize=610%2C235&ssl=1)
![](https://i1.wp.com/bingo-ojisan.xyz/wp-content/uploads/2021/08/ビンゴおじさんアイコン2.png?resize=92%2C92)
はじめからきちんとステージは表示させれいないので、わざわざコードを書かなくてもと思うかもしれませんが、何かの拍子でずれてしまうことがあるので、旗を押した時にきちんとリセットされるようにしているのです。
ネコの動きをつくる
では次にネコがステージの上を動き回れるようにしていきます。アクションゲームを作るとき、動きのコードについてはキャラクターに書くのではなくて、ターゲットに書いていきます。そしてキャラクターはターゲットの上に乗せるだけにします。当たり判定など、いろいろ便利ですし、1つのスプライトの中のコードがシンプルになるのでオススメの方法です。
![](https://i0.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/10/スクリーンショット-2022-10-01-13.46.09.png?resize=324%2C312&ssl=1)
ターゲットのコード
ではターゲットのコードを書いていきます。
基本的な動き
まずは基本的な動きです。左右の移動とジャンプができるようにします。基本的にはマリオなどと同じ重力を使った基本の動きですが、坂道を移動するところが1つポイントになります。左右に移動する時に、すごく小さなジャンプをするようにします。そうすることで坂道にそって動くことができるようになります。
![](https://i2.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/10/スクリーンショット-2022-10-01-12.16.40.png?resize=861%2C754&ssl=1)
では実際にターゲットを動かしてみましょう。以下のように動けば成功です。
はしごを登り降りする。
次に階段を登り降りできるようにしていきます。先ほど書いたターゲットのコードに以下のように追加します。ジャンプの勢いを0にしているところがポイントです。
![](https://i0.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/10/スクリーンショット-2022-10-01-12.19.48.png?resize=850%2C547&ssl=1)
実際にターゲットを動かしてみましょう。以下のように上下矢印キーではしごを登り降りできれば成功です。
ネコのコード
続いてネコのコードを書いていきます。ネコはターゲットの上にずっとのせておくだけです。そして上下左右矢印キー、スペースキーがおされるとコスチュームが変わります。
![](https://i0.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/10/スクリーンショット-2022-10-01-12.22.36.png?resize=853%2C734&ssl=1)
これで実際にプレイしてみましょう。このとき、ターゲットの幽霊の効果を100にするのを忘れないようにします。
たるを投げる
次に最上部にいるさるがたるを投げるようにしましょう。
”さる”が投げる動きをすると、”たる”のクローンが作られて坂道を転がっていくようにします。
さるのコード
ではまずさるのコードを書いていきます。さるのスプライトに以下のコードを書いてください。今回は1秒から1.5秒のランダムの間隔でたるが投げられるようにします。
![](https://i2.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/10/スクリーンショット-2022-10-01-12.26.38.png?resize=602%2C408&ssl=1)
たるのコード
つぎにたるのコードです。
たるが転がる基本の動き
まずはたるが坂道をころがる基本的な動きをコードで書いていきますがこちらについては、以下の記事で詳しく書いていますのでご確認ください。
コードは以下の通りです
![](https://i1.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/10/スクリーンショット-2022-10-01-12.29.23.png?resize=842%2C588&ssl=1)
![](https://i2.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/10/スクリーンショット-2022-10-01-12.29.43.png?resize=848%2C439&ssl=1)
ここで大切なポイントがあります。以前の記事で解説した坂道をボールが転がるコードはボールは1つでしたが、今回はたるが何個もクローンされるので、それぞれのクローンごとに動きを制御する必要があります。
ですので、以下のように変数とリストを作るときは”このスプライトのみ”にチェックを入れる必要があります。
![](https://i2.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/10/スクリーンショット-2022-10-01-17.11.36.png?resize=380%2C401&ssl=1)
![](https://i2.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/10/スクリーンショット-2022-10-01-17.11.56.png?resize=380%2C401&ssl=1)
![](https://i1.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/10/スクリーンショット-2022-10-01-17.12.09.png?resize=380%2C401&ssl=1)
![](https://i1.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/10/スクリーンショット-2022-10-01-17.14.53.png?resize=256%2C234&ssl=1)
を押して、以下のように動けば成功です。
ランダムにはしごを降りる
次に、坂を下る時に、たまに、はしごを下るようにしましょう。以下のようにたるのコードを改造していきます。はしごに触れた時に、3回に1回の確率で階段を下るようにします。そのために、乱数という変数を用意しています。またはしごで降りているときには重力が働かないようにします。
![](https://i0.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/10/スクリーンショット-2022-10-01-17.52.57.png?resize=853%2C762&ssl=1)
はしご降り中、乱数それぞれの変数を作る時にも先ほどと同様”このスプライトのみ”にチェックを入れるようにしましょう。
ではを押して動きを見てみましょう。以下のようにたまにたるがはしごを降りれば成功です。
ゲームオーバーとクリア
ではゲームオーバーとクリアを作っていきます。
たるに当たった、もしくは下に落ちてしまうとゲームオーバー、ペンギンに触れるとクリアです。
ネコのスプライトに以下のコードを書いていきます。
![](https://i0.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/10/スクリーンショット-2022-10-01-18.45.05.png?resize=853%2C593&ssl=1)
当たり判定はなぜターゲットに書かないのでしょうか?今回は、ジャンプした時にたるを避けやすくするために、ジャンプのときのコスチュームを少し高めに設定しているのです
以下のように、たるがターゲットに触れてもネコに触れていなければセーフにしています。
![](https://i0.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/10/スクリーンショット-2022-10-01-19.30.37.png?resize=238%2C213&ssl=1)
ゲームの仕上げ
ここまでで、基本的なゲームとしての動きは完成です。ただ、このままではたるが落ちてくる前に一気に上がってしまうことが可能ですので、しばらくたるが落ちてきてからスタートできるようにします。ゲーム管理のスプライトに以下のコードを書きましょう。
プレイ中という変数を作り、プレイ中=1になるとネコが動けるようになります。そしてプレイ中=1になるまでのカウントダウンをします。また、タイマーを設置して、クリアするまでのタイムもはかれるようにします。
![](https://i2.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/10/スクリーンショット-2022-10-01-12.39.48.png?resize=833%2C754&ssl=1)
あわせて、ターゲットのコードを以下のように改造して、プレイ中=1のときだけ動けるようにします。
![](https://i0.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/10/スクリーンショット-2022-10-01-12.41.15.png?resize=391%2C583&ssl=1)
ではプレイしてみましょう。以下のように動けば成功です。
すべてのコード
以上ですべてのプログラミングが終了です。いろいろとコースを改造して、自分だけのゲームを作ってみてください。