スクラッチで坂道ボールキャッチゲームの作り方

中級

今回つくるゲーム

難易度2 out of 5 stars

今回はスクラッチで坂道ボールキャッチゲームを作っていきます。うまくカゴにボールが入るように坂道を描いてボールを転がします。とても面白くてクセになるゲームが簡単に作ることができますので是非挑戦してみてください。

まずは実際にゲームをプレイしてみてください。マウスをドラックして線を描いてボールを転がします。30球のうち何球カゴに入れられるかを競います。

youtube解説

こちらの動画でもわかりやすくゲームの作り方をゼロから解説していますのであわせてチェックしてください。チャンネル登録もよろしくお願いします!

【ゼロから解説】スクラッチで坂道ボールキャッチゲームの作り方

はじめに

まず、坂道をボールを転がすコードを書いていきます。このコードは前回のブログで紹介しています。今回のゲームはその続きから作っていきますので、そちらからチャレンジするようにしてください
↓前回のブログ

youtubeでも作り方を紹介していますのでそちらも合わせてご覧ください。

【テクニック】スクラッチで坂道ボールコロコロの作り方

コードは以下の通りでした。重力転がるの定義で坂道にそってボールを転がし、高さリストをつくって、ボールの逆走(坂道を上る)を感知して、下りの方向に方向転換させています。

スクラッチで坂道ボールキャッチゲームの作り方

これで、以下のようにボールが坂道を転がります。

坂道を描く

ここまでは、コスチュームに描いた坂道にそってボールを転がしていましたが、この坂道を自分で描けるようにしていきます。コスチュームの表示は不要ですので、以下のように非表示にして隠します。

スクラッチで坂道ボールキャッチゲームの作り方

坂道を描くには拡張機能の”ペン機能”を使います。

スクラッチで坂道ボールキャッチゲームの作り方
スクラッチで坂道ボールキャッチゲームの作り方

これでペン機能が使えるようになりました。

坂道のコードに移動して、以下のようにコードを書いていきます。マウスでドラックして線を描くしていけるようにします。

スクラッチで坂道ボールキャッチゲームの作り方

坂道はわかりやすいように、色を0にして、鮮やかさ・明るさともに100にして真っ赤にします。

スクラッチで坂道ボールキャッチゲームの作り方

では🏴を押して、坂を描いてみましょう。以下のように描ければ成功です。

ボールが坂を転がるようにする

では、自分で描いた坂道をボールが転がるようにしていきます。

ボールのコードに移動して”坂道に触れた”の部分を”赤色に触れた”に変更していきます。

スクラッチで坂道ボールキャッチゲームの作り方

これで、以下のように描いた坂道にそって落ちていけば成功です。

ボールを下から打ち上げる

現状は左上からボールが落ちてきますが、今回は下からボールを打ち上げるようにします。まず、左下から打ち上げるようにコードを以下のように変更していきます。ジャンプの勢いを18にすることで打ち上げることができます。この数値をいじると打ち上げの高さが変わります。

スクラッチで坂道ボールキャッチゲームの作り方

これで🏴を押すと以下のように動きます。打ち上がりましたがジグザグに動いています。

これは、高さリストの部分のコードが影響しています。このコードは逆走をチェックして向きを修正するコードです。このコードが作用するのを坂道を転がっている時だけにするために、”転がりスタート”という変数を作って管理します。

スクラッチで坂道ボールキャッチゲームの作り方

次にボールを打ち上げる場所をランダムにしていきます。中央より左側だと右向き(90度)、右側だと左向き(-90度)に飛び出してきます。以下のようにコードを変更します。

スクラッチで坂道ボールキャッチゲームの作り方

これで以下のように🏴を押すたびにランダムにボールが打ち上がるようになります。

カゴでボールをキャッチする

次にカゴでボールをキャッチできるようにしていきます。

新しくスプライトを作成し、Bowlのスプライトを選びます。

スクラッチで坂道ボールキャッチゲームの作り方
スクラッチで坂道ボールキャッチゲームの作り方

次にBowlのコスチュームを少し変更します。中央部分に黄色い丸を作って、ここにボールが触れたらキャッチというようにします。

スクラッチで坂道ボールキャッチゲームの作り方

このBowlに以下のようにコードを書きます。これでランダムな位置にカゴが表示されます。

スクラッチで坂道ボールキャッチゲームの作り方

では、カゴでボールをキャッチできるようにします。ボールのコードに以下の通り”キャッチ成功”、”キャッチ失敗”の2つの定義を入れていきます。黄色に触れるとキャッチ成功ですが、打ち上げている途中に黄色に触れてもキャッチとはしないようにします。このタイミングで、効果音も入れておきます。

スクラッチで坂道ボールキャッチゲームの作り方

スクラッチで坂道ボールキャッチゲームの作り方

では、プレイしてみてください、以下のように動けば成功です。

連続でプレイできるようにする

いまの状態だと新しいゲームをするのに、いちいち🏴を押さなければならないので、ゲームが終わると次のゲームが始まるようにしましょう。”新しいゲーム”というメッセージを作り、コントロールしていきます。以下のようにコードを変更しましょう。

ボールのコード

スクラッチで坂道ボールキャッチゲームの作り方
スクラッチで坂道ボールキャッチゲームの作り方

坂道のコード

スクラッチで坂道ボールキャッチゲームの作り方

カゴ(Bowl)のコード

スクラッチで坂道ボールキャッチゲームの作り方

ここまでできたらプレイしてみましょう。以下のようにどんどん新しいボールが出てこれば成功です。

坂道にはまってしまった時の処理

これでうまくいったように思えますが、以下のようにうまく坂道が描けずにボールがはまってしまうことがあります。この場合も失敗になるので、今回はタイマー機能を使い、10秒間過ぎると自動的に失敗になるようにします。ボールのコードを以下のように変更します。

スクラッチで坂道ボールキャッチゲームの作り方

スクラッチで坂道ボールキャッチゲームの作り方

スコアをつける

では最後にゲームとして成立させるために、球数の制限をつけキャッチ数を数えられるようにします。

以下のようにゲーム管理という新しいスプライトを作り、コードを書きます。

スクラッチで坂道ボールキャッチゲームの作り方

これで完了です。以下のようにゲームができれば成功です。キャッチと残り球数にはチェックを入れて表示させるようにしましょう。

すべてのコード

すべてのコードは以下から確認できます。このテクニックを使って自分なりの面白いゲームを作ってみてください。

坂道ボールキャッチゲーム