スクラッチで野球ゲーム(ホームランダービー)の作り方

中級

今回つくるゲーム

難易度2 out of 5 stars

今回はスクラッチで野球ゲームを作っていきます。ピッチャーが投げる球に対してタイミングよくバットを振り、ホームランを狙います。このゲームづくりのポイントは、ホームランか空振りかをどのようにジャッジするかです。そのカギはタイマー機能にあります。タイマーの使い方をマスターしてゲームづくりに活かしてください。

まずは実際にゲームをプレイしてみてください。スペースキーでスイングし、10球のうち何球ホームランが打てるかチャレンジしてください。

youtube解説

こちらの動画でも作り方を解説していますのでぜひご覧ください。チャンネル登録もよろしくお願いします!

【ゼロから解説】スクラッチで野球ゲーム(ホームランダービー)の作り方

はじめに

まず、以下をリミックスしてください

野球ゲーム_素材

こちらにはゲームを作るのに必要な素材が揃っています。

スクラッチで野球ゲーム(ホームランダービー)の作り方

基本的な動きをつくる

まずは、各スプライトの基本的な動きを作っていきます。

ピッチャーの動き

ピッチャーのスプライトに以下のコードを書きます。セットポジションから投球に合わせてコスチュームを変更していきます。投球開始、ボールリリースのタイミングでメッセージを他のスプライトに伝達します。

スクラッチで野球ゲーム(ホームランダービー)の作り方

バッターの動き

次にバッターのスプライトに移動します。初めは待機しており、投球開始を受け取ると構え、スペースキーでバットを振ります。

スクラッチで野球ゲーム(ホームランダービー)の作り方

ボールの動き

最後にボールの動きです。ボールリリースを受け取ると、ピッチャーの手(x:-18,y:120)からボールが発射され、少しずつ大きくなりながら下に移動し、端で消えます。

スクラッチで野球ゲーム(ホームランダービー)の作り方

動きの確認

この状態で🏴を押してゲームをプレイしてみましょう。以下のようにプレイできれば成功です。

ホームランを打つ

次にホームランを打てるようにしていきます。ここで使うのがタイマーです。

まず、ボールがリリースされたタイミングからタイマーがスタートします。

ピッチャーのコードに以下を追加します。

スクラッチで野球ゲーム(ホームランダービー)の作り方

次に、バッターのスプライトに移動して、以下のようにコードを追加します。

ボールがリリースされてから0.6〜0.7秒でスイングすればホームランとします。

スクラッチで野球ゲーム(ホームランダービー)の作り方

さいごに、ホームランを受け取った時のボールの動きを作っていきます。ホームランを受け取ると、左上の方にボールが飛んでいきます。飛んで行くときは遠近法で大きさは小さくなっていきます。

そのときに”スプライトの他のスクリプトを止める”の指示をいれてキャッチャーの方に動くボールの動きを止めるのがポイントです。

スクラッチで野球ゲーム(ホームランダービー)の作り方

では、実際にプレイしてみましょう。その際にタイマーとタイミングにチェックを入れて数値をチェックするようにしましょう。

投球数を増やす/ホームランをカウントする

ではここから投球数を増やして、ホームランの数をカウントしていきます。

まずはピッチャーのコードで投球数を10回に設定します。(投げるたびに減っていきます。)

スクラッチで野球ゲーム(ホームランダービー)の作り方

次にホームランを打った時に、ホームラン数をカウントしていきます。

スクラッチで野球ゲーム(ホームランダービー)の作り方

そして、バッターはスイングした後に待機にもどるようにしましょう。

スクラッチで野球ゲーム(ホームランダービー)の作り方

では、残り球数ホームランにチェックを入れた状態でプレイしてみましょう。

球速を変化させる

最後に球速を変化させていきます。

球速を3段階つくり、ランダムで投げ分けることにより、タイミングを取りづらくし、ゲームとして面白くしていきます。

ボールのスプライトに、球速をランダムに設定するコードを追加します。

スクラッチで野球ゲーム(ホームランダービー)の作り方

次に、バッターのスプライトに移動して以下のようにコードを変更します。球速によって、ホームランのタイミングが異なるからです。ちなみに球速パターン3だと実際の野球では160km/h程度です。

スクラッチで野球ゲーム(ホームランダービー)の作り方

実際にプレイしてみて、速度がランダムに変化すれば成功です。

すべてのコード

以上ですべてのコードが終了です。あとは効果音など自由につけてみてください。タイミングによってヒットやファールを作るのも良いと思います。

すべてのコードは以下から確認できます。

野球ゲーム(ホームランダービー)