今回つくるゲーム
難易度
今回はバスケットボールフリースローゲームを作っていきます。スクラッチでのゲーム作りに慣れてきた中級者向けのゲームです。上下するゴールに向けて角度をあわせてボールを投げるだけの単純なゲームですがボールの放物線の描き方、当たり判定、細かなコスチュームのチューニングなど、ゲーム作りに重要な要素を多く含んだゲームです。是非挑戦してみてください。
まずは実際にゲームをプレイしてみてください。スペースキーでボールを投げ、20球のうち何球ゴールに入れられるかを競います
こちらの動画を見てから記事を読むとより理解しやすくなります。チャンネル登録もよろしくお願いします!
はじめに
まず、以下をリミックスしてください
こちらにはゲームを作るのに必要な素材が揃っています。
![](https://i2.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/01/スクリーンショット-2022-01-25-20.53.55-1024x561.png?resize=1024%2C561&ssl=1)
ボールの基本的な動きを作る
最初にボールの基本的な動きを作っていきます。ボールの動きは、ボールの中心という細長い紫色のスプライトで作っていきます。そしてボールのスプライトはボールの中心についていくだけにします。その方が当たり判定が作りやすいためです。この手法は様々な場面で活用しますのでマスターしてください。
ボールの中心のコード
まずはボールの中心のスプライトに以下のようにコードを書きます。ブロック定義を活用して、なるべく直感的にコードがわかりやすいように整理するようにしましょう。
![](https://i1.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/01/スクリーンショット-2022-01-25-23.41.45.png?resize=856%2C569&ssl=1)
![](https://i1.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/01/スクリーンショット-2022-01-25-21.03.05-1.png?resize=858%2C532&ssl=1)
★の部分の解説は以下の通りです。25という数値はゴールに向かって適度な放物線を設定するように設定しています。
![](https://i0.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/01/スクリーンショット-2022-01-25-23.37.39.png?resize=767%2C569&ssl=1)
ここまでできれば、緑の旗を押して実際に動かしてみましょう。ボールの向きをいろいろ変えてスペースキーで投げてみましょう。
ボールのコード
次にボールのコードを書いていきます。その前に、ボールの中心のコードで幽霊の効果を100にします。つまり、存在はするけど、透明にするということです。
![](https://i0.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/01/スクリーンショット-2022-01-25-21.17.26-1.png?resize=436%2C407&ssl=1)
ボールのスプライトに移り、以下の通りコードを組みます。基本的にはボールの中心についていくということですが、加えて、上にはみ出したときに透明にするのと、向きに応じて回転させるようにします。
![](https://i2.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/01/スクリーンショット-2022-01-25-21.15.35.png?resize=841%2C589&ssl=1)
この状態で、ボールの向きをいろいろと変えながらプレイしてみましょう。以下のようにボールを投げられれば成功です。
プレイヤーのコード
最後にプレイヤーのコードを組んでいきます。プレイヤーのスプライトには”かまえる”、”なげる”、”投げ終わり”の3つのコスチュームが用意されています。そのコスチュームをボールのステイタスに合わせて変えていきます
![](https://i2.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/01/スクリーンショット-2022-01-25-21.19.52.png?resize=601%2C497&ssl=1)
実際に動かしてみましょう。プレイヤーを動かすだけで躍動感が出ますね。
ゴールを設置する
次にゴールを作っていきます。ゴールのスプライトに移動して以下のようにコードを書きます。
![](https://i2.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/01/スクリーンショット-2022-01-25-21.24.40.png?resize=602%2C508&ssl=1)
緑の旗を押してみてください。ゴールが上下しているのがわかります。
次に、ゴールに当たり判定用のスプライトを加えていきます。ゴール判定用、ボード判定用、リング外判定用をそれぞれ以下のような位置関係に配置します。
![](https://i0.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/01/スクリーンショット-2022-01-26-0.52.58.png?resize=794%2C586&ssl=1)
それぞれのコードは以下の通りとなります。
![](https://i0.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/01/スクリーンショット-2022-01-25-21.28.23-1.png?resize=611%2C294&ssl=1)
![](https://i0.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/01/スクリーンショット-2022-01-25-21.28.36.png?resize=611%2C294&ssl=1)
![](https://i2.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/01/スクリーンショット-2022-01-25-21.28.28.png?resize=611%2C294&ssl=1)
緑の旗を押して、ゴールを動かしてみましょう。以下のように判定用スプライトがついてこれば成功です。
ゴール周辺でのボールの動きを作る
ゴール周辺のスプライトがそろったら、ゴール周りのボールの動きを作っていきます。
ゴールの中心のコード
ゴールの中心のスプライトに戻り、ボールのルールに”リングで跳ね返る”、”ボードに当たる”、”ゴール”の3つのルールを追加します。
![](https://i1.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/01/スクリーンショット-2022-01-25-21.32.37-1.png?resize=855%2C593&ssl=1)
![](https://i2.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/01/スクリーンショット-2022-01-25-21.35.38.png?resize=855%2C593&ssl=1)
ゴールのコード
次に”ゴール”のメッセージを受けた時のゴールのコードを書いていきいます。コスチュームを変化させることで、ゴールにボールが入る演出を作ります。
![](https://i0.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/01/スクリーンショット-2022-01-25-21.38.24.png?resize=855%2C593&ssl=1)
緑の旗を押してプレーしてみてください。その際、いろいろとボールの向きを変えて検証してください。
調整ベクトルでボールの向きを調整する
ここまでは、ボールの向きは数値を入れ替えて検証していましたが、実際のゲームでは調整ベクトルを使いボールの向きを決定していきます。
調整ベクトルの向きと、ボールの向きの関係は以下の通りです。
![](https://i1.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/01/スクリーンショット-2022-01-26-12.46.58.png?resize=714%2C378&ssl=1)
スタンバイされたときに調整ベクトルをうにょうにょ動かすようにしましょう。調整ベクトルのスプライトに以下のコードを書きます。
![](https://i0.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/01/スクリーンショット-2022-01-25-21.43.10.png?resize=601%2C421&ssl=1)
次にボールの中心のスプライトに戻り、ボールの向きを以下のように変更します。
![](https://i0.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/01/スクリーンショット-2022-01-26-12.44.53.png?resize=860%2C586&ssl=1)
これで、調整ベクトルの方向に向かってシュートを打てるようになったと思います。以下のように動けば成功です。
最後の仕上げ
では、ゲームとしての最後の仕上げを行なっていきます。以下のルールを設定します。
ルール
1.ボールの持ち玉は20球
2.ゴールに入ると1ポイント
3.持ち玉を使い切ると終了
ルールに関するコードは背景に書いていきます。コードは以下の通りとなります。
![](https://i0.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/01/スクリーンショット-2022-01-25-21.50.07.png?resize=850%2C385&ssl=1)
またボールの中心のコードに移動し、以下のように、ゲーム中のみスペースキーが押されたときにシュートできるようにして、シュートを放つと球消費するようにします。
![](https://i0.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/01/スクリーンショット-2022-01-26-12.45.13.png?resize=860%2C644&ssl=1)
すべてのコード
以上で終了です。全てのコードは以下に記載されていますので参考にしてください。