トピックス

レゴのブロックのよう

更新日:

Scratchの続きです。今日はボールが落下するアニメーションです。まだ、物理の式は用いていませんが、落下速度が徐々に増加して、地面でバウンドして、また落下して最後は地面で止まる動作を示します。

資料をご覧ください → scratchその2

p.1 先ずステージ中央黒い点(ボール)を作成します。①猫のスプライトを「×」で消去します。②~⑥の順番に進めてください。詳細に説明しなくてもできると思います。

p.2 「コード」をクリックすると、ステージ中央に黒い点があるはずです。点ができたら、コードより右のようにブロッグを並べていきます。並べ方は、少々説明が必要なので、次ページを参照ください。

p.3 A.先ずコードの「変数」をクリックします。B.「変数をつくる」をクリックすると真中のようなホップアップが現れます。C. 新しい変数名に「速さ」を入力して、今後もこの変数を使うか否かを選択後OKをクリックする。D. 「速さ」という変数が追加されています。

p.4 Scratchは、空欄の部分に足すことによっていろんなことが可能となります。左上から、ご覧ください。「調べる」のをクリックして、「マウスポインターに触れた」というブロックをドローしてドロップします。▼をクリックして「」に変えます。「制御」より「もし~なら」というブロックを取り出し、六角形の部分に、先ほどのブロックを持っていき入れ込みます。次は、右側をご覧ください。「演算」より「〇*〇」というブロッグを取り出して、同じ要領で空欄部分を埋めて、ブロックを組み立てていきます。レゴのブロックの要領です。最後は、右下のようにブロックが組み立てられます。

p.5 緑の旗をクリックして、このプログラムを動かしてみましょう。ステージをご覧ください。真中の黒い点が落下していき、床に触れたらバウンドしてまた落下します。バウンドする高さが減少して最後は床の上に止まります。時間を横軸高さを縦軸にして、黒い点の軌跡を描いてみました。プログラムと合わせてご覧ください。落下時に、速さが0.1ずつ増加します。1回目の床での速さが-5とすると、バウンド時の上昇速さはー0.9倍の4.5になります。これにー0.1が足されて速さ0になるのが、2つめのピークです。あとは、同じ動作が続いていきます。

今回、床でのバウンドにー0.9倍という通知を用いましたが、材質の違いで数値は変わってきますね。床の反発係数が材質で変化する場合など検討することも可能ですね。 実際の加速度の数値を入れてあげれば、物理の式の挙動をアニメ化することもできます。 慣れてくれば、簡単なプログラムは組め、結構、大人でも有用なソフトです。

-トピックス

Copyright© 進化するガラクタ , 2021 All Rights Reserved Powered by STINGER.