今回つくるゲーム
難易度
今回はスクラッチで坂道ボールキャッチゲームを作っていきます。うまくカゴにボールが入るように坂道を描いてボールを転がします。とても面白くてクセになるゲームが簡単に作ることができますので是非挑戦してみてください。
まずは実際にゲームをプレイしてみてください。マウスをドラックして線を描いてボールを転がします。30球のうち何球カゴに入れられるかを競います。
はじめに
まず、坂道をボールを転がすコードを書いていきます。このコードは前回のブログで紹介しています。今回のゲームはその続きから作っていきますので、そちらからチャレンジするようにしてください
↓前回のブログ
youtubeでも作り方を紹介していますのでそちらも合わせてご覧ください。
コードは以下の通りでした。重力と転がるの定義で坂道にそってボールを転がし、高さリストをつくって、ボールの逆走(坂道を上る)を感知して、下りの方向に方向転換させています。
これで、以下のようにボールが坂道を転がります。
坂道を描く
ここまでは、コスチュームに描いた坂道にそってボールを転がしていましたが、この坂道を自分で描けるようにしていきます。コスチュームの表示は不要ですので、以下のように非表示にして隠します。
坂道を描くには拡張機能の”ペン機能”を使います。
これでペン機能が使えるようになりました。
坂道のコードに移動して、以下のようにコードを書いていきます。マウスでドラックして線を描くしていけるようにします。
坂道はわかりやすいように、色を0にして、鮮やかさ・明るさともに100にして真っ赤にします。
ではを押して、坂を描いてみましょう。以下のように描ければ成功です。
ボールが坂を転がるようにする
では、自分で描いた坂道をボールが転がるようにしていきます。
ボールのコードに移動して”坂道に触れた”の部分を”赤色に触れた”に変更していきます。
これで、以下のように描いた坂道にそって落ちていけば成功です。
ボールを下から打ち上げる
現状は左上からボールが落ちてきますが、今回は下からボールを打ち上げるようにします。まず、左下から打ち上げるようにコードを以下のように変更していきます。ジャンプの勢いを18にすることで打ち上げることができます。この数値をいじると打ち上げの高さが変わります。
これでを押すと以下のように動きます。打ち上がりましたがジグザグに動いています。
これは、高さリストの部分のコードが影響しています。このコードは逆走をチェックして向きを修正するコードです。このコードが作用するのを坂道を転がっている時だけにするために、”転がりスタート”という変数を作って管理します。
次にボールを打ち上げる場所をランダムにしていきます。中央より左側だと右向き(90度)、右側だと左向き(-90度)に飛び出してきます。以下のようにコードを変更します。
これで以下のようにを押すたびにランダムにボールが打ち上がるようになります。
カゴでボールをキャッチする
次にカゴでボールをキャッチできるようにしていきます。
新しくスプライトを作成し、Bowlのスプライトを選びます。
次にBowlのコスチュームを少し変更します。中央部分に黄色い丸を作って、ここにボールが触れたらキャッチというようにします。
このBowlに以下のようにコードを書きます。これでランダムな位置にカゴが表示されます。
では、カゴでボールをキャッチできるようにします。ボールのコードに以下の通り”キャッチ成功”、”キャッチ失敗”の2つの定義を入れていきます。黄色に触れるとキャッチ成功ですが、打ち上げている途中に黄色に触れてもキャッチとはしないようにします。このタイミングで、効果音も入れておきます。
では、プレイしてみてください、以下のように動けば成功です。
連続でプレイできるようにする
いまの状態だと新しいゲームをするのに、いちいちを押さなければならないので、ゲームが終わると次のゲームが始まるようにしましょう。”新しいゲーム”というメッセージを作り、コントロールしていきます。以下のようにコードを変更しましょう。
ボールのコード
坂道のコード
カゴ(Bowl)のコード
ここまでできたらプレイしてみましょう。以下のようにどんどん新しいボールが出てこれば成功です。
坂道にはまってしまった時の処理
これでうまくいったように思えますが、以下のようにうまく坂道が描けずにボールがはまってしまうことがあります。この場合も失敗になるので、今回はタイマー機能を使い、10秒間過ぎると自動的に失敗になるようにします。ボールのコードを以下のように変更します。
スコアをつける
では最後にゲームとして成立させるために、球数の制限をつけキャッチ数を数えられるようにします。
以下のようにゲーム管理という新しいスプライトを作り、コードを書きます。
これで完了です。以下のようにゲームができれば成功です。キャッチと残り球数にはチェックを入れて表示させるようにしましょう。
すべてのコード
すべてのコードは以下から確認できます。このテクニックを使って自分なりの面白いゲームを作ってみてください。