パパ先生のゲーム開発ブログ

二児のパパがゲーム開発アレコレを書いているブログ。Unity / UE4 / Scratch / プログラミングゼミ / プログラミング教育

[Scratch]サッカーゲーム(PK戦)を作ろう!-キーパーを動かそう(3/6)-

スクラッチ

サッカーゲームPK戦を作ろう キーパーを動かそう編(3/6)

第3回目はキーパーを動かして、シュートを防ぎます。

(解説まとめはこちら)

www.papa-sensei.com  
 

キーパーのプログラム

ボールと同様にキーパーが飛ぶ、左・真ん中・右の位置を決めます。 f:id:papa-sensei:20200302123636p:plain

[キーパーの方向と位置]

方向 X Y 大きさ 向き
-50
17
50
45
真ん中
0
50
50
90
50
17
50
135

キーパーは飛ぶ方向に合わせて少し向きを傾けています。
そのほうが飛んでる感が出ますね!^^
位置が決まったら、キーパーのスプライトにプログラムを追加します。

プログラム
f:id:papa-sensei:20200302124546p:plain

ボールと同様に、背景から「シュート」のイベント受け取ったら、キーパーを移動させます。
キーパーが飛ぶ方向は「キーパーの方向」変数を用意して、その値で判定します。
f:id:papa-sensei:20200302124717p:plain

・もし 左(0) なら 45度に向けて 1秒で(-50, 17) に移動
・もし 真ん中(1) なら 90度に向けて 1秒で(0, 50) に移動
・もし 右(2) なら 135度に向けて 1秒で(50, 17) に移動
f:id:papa-sensei:20200302124920p:plain

これでシュート時にキーパーも飛ぶようになりました。
合わせて、リセット時に最初の位置や向きに戻すプログラムも追加しておきましょう!

背景のプログラム
最後に背景のプログラムにキーパーの飛ぶ方向を決めるプログラムを追加します。
今回はキーパーの動きの確認だけしたいので、ランダムで方向を決めてしまいましょう。
(実際に矢印で方向を選んだり、先攻・後攻交代の動きは次回作ります!)
f:id:papa-sensei:20200302125455p:plain

今回までの動き

シュートと同時にキーパーも飛ぶようになりました。
しかし、今のままではゴールの判定や、シュート・キーパーを切り替えることができません。
次回は先攻・後攻交互にシュートする動きを作り、PK戦ができるようにしましょう!