今回つくるゲーム
難易度
今回はスクラッチ初心者でも簡単に作れるハエ取りゲームを作っていきます。簡単ではありますが、クローン、変数、座標、当たり判定などゲーム作りの基本要素が多く含まれているので是非チャレンジしてみてください。
まずは実際にゲームをプレイしてみてください。スペースキーで舌を出して、ハエを捕獲します。左右のキーでカエルを移動させられます。
はじめに
まず、以下をリミックスしてください
こちらにはゲームを作るのに必要な素材が揃っています。
背景の写真はunsplashというフリー素材サイトからダウンロードしています
スクラッチでフリー素材を使う場合の注意点などはこちらを参考にしてください。
/2022/01/06/free_photo/
ハエを上から落とす
まずはハエを上から落とすところから始めます。
スクラッチの座標は中心が(x:0,y:0)で、左右がx=-240〜240、上下がy=180〜-180となっています。
それをふまえて、ハエを上から落とすプログラムは以下の通りとなります。ハエを何匹も落としたいので、クローンをつくってどんどん落としていきます。こちらのプログラムは「ハエ」のスプライトのコードに書いていきます。
x座標を-40にしているのはカエルが舌を伸ばした時のx座標が-40だからです。
緑の旗を押して動きを見てみましょう。1秒ごとにハエが落ちてくるのがわかります。
カエルがハエを捕まえる
では、ここからカエルがハエを捕まえるようにします。
まずスペースキーを押すとカエルが舌を出すような動きを作りましょう。
カエルのスプライトのコスチュームを見てください。下図のように、はじめから舌を出すコスチュームも用意しています。コスチュームを入れ替えることで舌を出しているように見せられます。アニメーションの原理ですね。
では、カエルのスプライトのコードを書いていきましょう。以下のようにスペースキーを押すとコスチュームが舌を出すに変わって、すぐに座るに戻るようにします
緑の旗を押して動きを確認してみましょう。
スペースキーを押すと舌を出すようになりますが、動画の後半のように連打ができてしまうので、連打できないように少し改良します。下のように”舌出しOK”という変数を作り、舌出しOK=1の時は舌をだせるけど、舌出しOK=0の時は舌を出せないようにします。つまりスペースキーを押してから0.3秒たたないと次に舌を出せないようにしているということです。
では、次にハエのコードに移って、舌に当たるとハエが消える(食べられる)ようにしていきます。
ハエのコードを以下のように変更します。
ポイント
[赤色に触れた]ではないまで待つ、としているのは、そうしないと、触れている間ずっと得点が加算されるからです。一度だけ反応させるときによく使うテクニックです。
舌の色(赤色)の拾い方は以下の通りです。触れる色を指定する時は色の数値をあわせるのもいいですが、スポイト機能が便利です。
これで、カエルがハエを捕まえられるようになりましたが、ハエが落ちてくるタイミングがわかっていればゲームとしてはとても単調になってしまうので、落ちてくる間隔をランダムにします。ここで乱数という考え方を使います。1から6までの乱数というのは、1から6までの数字のどれになるかわからないということです。ですので以下のようにすることで落ちてくる間隔が
3秒、1.5秒、1秒、0.75秒、0.6秒、0.5秒のいずれかになります。
では、実際にプレイしてみましょう。
いったんこれで完成ですが、さらにゲームを難しくしたい人は次に進んでください。
応用)ハエが落ちてくる場所を2箇所に増やす
ハエが落ちてくる場所を2箇所にすることでゲームを難しくしましょう。ハエの位置という変数を追加して、ハエの位置が0のときは今まで通り、x=-40の位置から落ちてくるけど、ハエの位置が1のときはx=140から落ちてくるようにします。
さらに、かえるも今までは左端にずっと座っていましたが、前後に動けるようにします。x方向の動きとy方向の動きを同時に行うことでジャンプを表現しています。ジャンプするときにはコスチュームをかえることで、よりジャンプしている感じを出すことができます。
これで、プレイしてみましょう。
応用)ハエの落下スピードをランダムにする
次にハエの落下スピードをランダムにしましょう。ハエの落下スピードという変数をつくり、値をランダムにして、y座標の変化量の部分に代入します。
応用)効果音・BGMをつける
最後に効果音・BGMをつけます。これによってゲームのクオリティーがいっきにあがるので、できるだけこだわるようにしましょう。
まず、ハエを捕食する時の効果音を選んでいきます。ハエのスプライトの音のタブで、左下のプラスボタンから音を選ぶを選択します。
そうすると、スクラッチで用意されている様々な音が出てきますので好みの音を選択します。
今回は、Squish Popという効果音を選択しました。
これで、音が追加されます。
次に、コードに移り、以下のようにハエが舌に触れた時に、先ほど選択したSquishPopの音がなるようにコードを追加します。これで捕食の時に効果音がなるようになります。
(ついでにすべてのハエのクローンが生成された後にゲームが終了するように設定しておきます)
同様に、カエルがジャンプする時の効果音も追加します。ここではBoingという音を選択しました。
最後にBGMを設定します。BGMの設定はどこでもいいのですが、今回はステージのコードに記載しました。(全体に関わるようなコードはステージに書いておく習慣をつけると良いでしょう)
BGMはDance Head Nodという曲を繰り返し流します
すべてのコード
これで終了です。すべてのコードは以下から確認できます。
ここからさらに自分なりのカスタマイズをしてゲームを面白くしてみてください。
例えば、点数の高いハエを用意するとか、食べてはいけないものが落ちてくるとか、いろいろと考えられます。