KIDSPRO
KIDSPRO
バッターがバットをスイングするプログラミングでは、上図のような「スイング前」→「スイング中」→「スイング後」の3つのコスチュームを用意します。
次に、上図左のスペースキー押下をトリガーとしたスクリプトにより、この3つのコスチュームを順次切り替えて表示させると、人間の目にはバッターがバットを振っているように見えます。
コスチュームの数を増やすと、よりスムーズにスイングしているように見えますが、野球を見たことがある人なら、スイング前とスイング後の2枚だけでもバッターがスイングしているように見えると思います。
KIDSPRO
左側のスクリプトでは、ボールの球種(球種=0はストレート/球種=1はカーブ)とボールのスピード(2, 3, … ,6)を乱数によりランダムに決定し、「投げる」というカスタムブロックを実行します。また、カーブボールはストレイトボールよりも25%だけ遅いスピードに設定しています。
これにより、バッターがスイング中コスチュームの時に、バットの深緑色部分がボールに触れたか判定出来るようになります。
「投球のスクリプト」では、ボールを回転させながら、x座標とy座標をカスタムブロックの引数「スピード」値の割合に応じてマイナス方向に移動させ、ボールをステージ右上(ピッチャー投球中の手の部分)から左下に移動させています。また、カスタムブロックの引数「球種」=0(ストレート)の時は、ボールは真っすぐ移動し、引数「球種」=1(カーブ)の時は、x座標が100よりも小さくなったらy座標の変化値を1.8倍にしてy座標の変化幅を大きくして、ボールがカーブの軌道を描くようにプログラミングしました。
「ボール判定スクリプト」では、「球種」=0(ストレート)の場合はバッターがスイングしていなくてもストライク判定、「球種」=1(カーブ)の場合はバッターがスイングしていなければボール判定するようにプログラミングしました。スイング判定は、上図左側に記載しているバッターのスクリプトで実現しています。