今回つくるゲーム
難易度
今回はスクラッチでサッカーPKゲームを作っていきます。動くキーパーの動きを見ながら狙いを定めてシュートを打ちます。1分間で何ゴールできるかを競うゲームです。角度の考え方が少し難しいですが、複雑なコードを使わずに面白いゲームが作れますので挑戦してみてください。
まずは実際にゲームをプレイしてみてください。スペースキーでシュートが打てます。
はじめに
まず、以下をリミックスしてください
こちらにはゲームを作るのに必要な素材が揃っています。
![](https://i0.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/07/スクリーンショット-2022-07-16-10.50.34-1024x562.png?resize=1024%2C562&ssl=1)
キーパーを動かす
まずはキーパーの動きを作っていきましょう。キーパーの動きはターゲット(赤い丸)で作り、キーパーはターゲットにあわせて動いていくという考え方になります。その理由は、以下のように遠近法を考えた時に、シカの足に触れたときにキーパーに止められたと判定するのは不自然だからです。このように、当たり判定用にターゲットを作るのはゲーム作りの基本的なテクニックですので是非マスターしてください。
![](https://i2.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/07/スクリーンショット-2022-07-16-13.19.19.png?resize=976%2C593&ssl=1)
ターゲットの動きを作る
まずはターゲットの動きを作っていきますが、その前に、ゲーム管理のスプライトに行って、以下のようにが押された時に「ボールセット」というメッセージを送るようにします。ゲーム中に何度も「ボールセット」をできるようにするためです。
![](https://i0.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/07/スクリーンショット-2022-07-16-10.56.46-1-1024x562.png?resize=1024%2C562&ssl=1)
次に、ターゲットのスプライトに移動して、以下のようにコードを書きます。
![](https://i1.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/07/スクリーンショット-2022-07-16-10.57.53.png?resize=616%2C470&ssl=1)
これで一度を押してみてください。以下のようにターゲット(赤い丸)がゴールの端から端まで動き続けるようになります。
キーパーの動きを作る
次にキーパーの動きです。キーパーはターゲットの上に重なって動くだけです。その時にコスチュームを変化させることで動きをつくります。
さきほど作ったターゲットの幽霊の効果を100にしてから、キーパーのスプライトに移動して、以下のようにコードを書きます。
![](https://i1.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/07/スクリーンショット-2022-07-16-11.00.05.png?resize=613%2C410&ssl=1)
キーパーのコスチュームを見ると、以下のように影がついているのが分かります。このように、キャラクターに影をつけることで、着地しているように見えます。特に奥行きのあるゲームでは大切なテクニックです。また影は地面よりも少し暗い色に設定するのがポイントです。
![](https://i2.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/07/スクリーンショット-2022-07-16-13.40.53.png?resize=335%2C280&ssl=1)
では、を押してみましょう。このようにキーパーが動けば成功です。
シュートをうつ
ボールをける
次にボールをけってシュートを打てるようにします。ボールのスプライトに移動して以下のコードを書きます。蹴る角度という変数を作り、スペースキーを押すとその方向にボールが飛んでいくようにします。
![](https://i1.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/07/スクリーンショット-2022-07-16-11.07.42.png?resize=837%2C565&ssl=1)
蹴る角度をいろいろな数字に変えてプレイしてみてください。蹴る角度をマイナスにすると左側にも飛んでいきます。
ゴールの判定
ボールがターゲットにあたるとキーパーに止められることになりますが、どうなればゴールしたことになるでしょうか。
ゴール判定のスプライトに移動して表示するを選んでください。そうすると、ゴールの上の方に、ゴール判定用のボードが現れます。ここにボールが触れるとゴールしたことになります。
![](https://i2.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/07/スクリーンショット-2022-07-16-14.26.28.png?resize=493%2C715&ssl=1)
![](https://i0.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/07/スクリーンショット-2022-07-16-14.20.16.png?resize=493%2C414&ssl=1)
ゴール判定のスプライトに以下のコードを書きます。そこにはあるけど、表示たくない時に幽霊の効果を使います。
![](https://i2.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/07/スクリーンショット-2022-07-16-11.10.24.png?resize=613%2C256&ssl=1)
ゴール・ミスキックの判定
では、ここからシュートが、ゴールしたのかミスキックだったのかを判定していきます。ボールのスプライトに移動して、先ほど書いたコードを修正していきます。
ターゲットに触れるとキーパーに止められミスとなり、ゴール判定に触れるとゴールとなります。また、ターゲットにも、ゴール判定にも触れられなかったら、枠から外れたということで、それもミスとなります。
![](https://i1.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/07/スクリーンショット-2022-07-16-11.13.50.png?resize=856%2C640&ssl=1)
キーパーに止められた時とゴールした時のボールの反射は以下の通りの考え方となります。
![](https://i2.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/07/スクリーンショット-2022-07-16-15.55.16.png?resize=493%2C411&ssl=1)
![](https://i0.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/07/スクリーンショット-2022-07-16-15.55.36.png?resize=493%2C411&ssl=1)
GOAL・missの表示
次に判定のスプライトに移動して、以下のコードを書きます。
GOLA・missのメッセージを受け取った時にコスチュームが表示され、ボールセットされると消えるようにします。
![](https://i0.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/07/スクリーンショット-2022-07-16-11.18.31.png?resize=858%2C451&ssl=1)
シュートを打ち終えるとキーパーが止まる
シュートを打ち終わったら、GOALでもmissでもキーパーは止まるはずです。
ターゲットのコードに移動して以下のようにコードを追加します。(キーパーの動きはターゲットが操ってるのでした)
スプライトの他のスクリプトを止めるで、キーパーの動きを止めることができます。
![](https://i1.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/07/スクリーンショット-2022-07-16-11.20.07.png?resize=848%2C578&ssl=1)
ここまでできたら、動きを確認しましょう。以下のようにゴール・ミスキックができれば成功です。
ボールを蹴る方向をさだめる
ここまでは、ボールを蹴る向きを数字で入力していましたが、矢印を表示させて、矢印の方向にボールが飛んでいくようにします。
矢印の動きを作る
まずは矢印の動きを作っていきます。ボールがセットされると、振れ幅40、速さ2で矢印が動きます。
振れ幅40 :-40°〜40°の範囲で動く 速さ2 :2°ずつ回る
![](https://i1.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/07/スクリーンショット-2022-07-16-11.22.14.png?resize=848%2C452&ssl=1)
では、を押して動きを確認しましょう。以下のように動けば成功です。振れ幅と速さの値を変えていろいろ試してみてください。
矢印の方向に蹴る
次にボールを矢印の方向に蹴れるようにしましょう。
ボールのスプライトに移動して以下のように蹴る角度を矢印の向きに設定するだけです。
![](https://i1.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/07/スクリーンショット-2022-07-16-11.23.47.png?resize=848%2C640&ssl=1)
では動きを確認しましょう。
動きをランダムにする
これで基本的な動きは完成ですが、ゲームとして面白くするために動きをランダムにしていきます。
ランダムにするのは、キーパーの動く速さ、矢印の振れ幅、矢印の振れる速度、の3箇所です。
![](https://i0.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/07/スクリーンショット-2022-07-16-11.27.21.png?resize=847%2C601&ssl=1)
![](https://i1.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/07/スクリーンショット-2022-07-16-11.28.01.png?resize=847%2C456&ssl=1)
制限時間とゴール数
最後に、制限時間を作り、その間に決めたゴールの数をカウントしていきます。
ゲーム管理のスプライトに移動して以下のようにコードを書きます。
![](https://i1.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/07/スクリーンショット-2022-07-16-12.39.22.png?resize=854%2C487&ssl=1)
ゲーム中という変数を作り、ゲーム中かゲームが終了したかを判断できるようにしています。
ゲーム終了(つまりゲーム中=0)のときにはスペースを押してもボールを蹴れないようにしましょう。
![](https://i2.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/07/スクリーンショット-2022-07-16-11.31.32.png?resize=854%2C644&ssl=1)
ゴール数と残り時間にチェックを入れて画面上に表示させて完成です。
![](https://i1.wp.com/bingo-ojisan.xyz/wp-content/uploads/2022/07/スクリーンショット-2022-07-16-17.56.23-1024x527.png?resize=1024%2C527&ssl=1)
すべてのコード
これで完成になりますが、効果音を入れたり、ターゲットの大きさを調整して難易度を上げたりして、自分だけのゲームを作ってみてください。
すべてのコードはこちらから確認できます。