
1.ボールを投げて放物線を描く
X速度とY速度の 2 つを使って、ものを投げた時のような放物線(カーブした軌跡)を描こう。重力で Y速度がだんだん小さくなって、ボールが弧を描いて落ちていくよ。Wiki オリジナルでは重力ブロックを「ずっと」の最初に置いていますが、教材では分かりやすさのため最後に置いています(物理学的に同じ結果になります)。
わざボールを投げたときのような放物線の動きを、重力・空気抵抗・本格的な時間計算まで、4段階で作っていくよ。

X速度とY速度の 2 つを使って、ものを投げた時のような放物線(カーブした軌跡)を描こう。重力で Y速度がだんだん小さくなって、ボールが弧を描いて落ちていくよ。Wiki オリジナルでは重力ブロックを「ずっと」の最初に置いていますが、教材では分かりやすさのため最後に置いています(物理学的に同じ結果になります)。
わざ
前のレッスンでは Y速度がどんどん速くなって、すぐ画面から消えていったね。Y速度に「上限(マイナス 5 まで)」を作って、ある速さ以上では落ちないようにしよう。ゲームのキャラクターによく使われるテクニックだよ。
わざ
本当のボールは空気の抵抗で少しずつ遅くなるよね。X速度と Y速度を毎フレーム 0.99 倍することで、空気抵抗を表現しよう。前のレッスンとは違って、X方向にも減速がかかるよ。
わざ
本物の物理シミュレーションでは、1 秒間に何メートル動くかを計算するよ。タイマーを使って前のフレームからの経過時間(dt)を測って、速度に dt をかけることで、コンピュータの速さに左右されない正確な物理を作ろう。地球の重力は -9.8 m/s² で、「-9.8 × dt」が 1 フレームあたりの本物の速度変化(重力 × 経過時間)だよ。ただし Scratch のステージ (480×360) は本物の地球と比べると小さいので、その本物の速度変化に「画面用の調整値 20」を掛けて画面で見やすくしてある。Wiki オリジナルとはブロックの並び順を変えています(教材ステップを段階的に組み立てるため)。並び順の変更で位置Y の反映が 1 フレームだけ遅れますが、見た目は同じ放物線になります。緑の旗を押した直後、最初の 1 フレームだけタイマーの値が大きいと一瞬大きく飛ぶことがあるので、何度か押してみよう。
わざ