2009年10月23日金曜日

スクラッチ1日1歩 - 002

「動き」の命令ブロックグループには、「〜度回す」というブロックがあります。これは文字通りスプライトを時計方向や反時計方向に回転させるためのものです。数字で回したい角度を指定するだけで簡単にスプライトを回すことができます。ためしてみましょう。


下図のサンプルスクリプトは「50歩動いて、30度時計回方向に回転する」を12回繰り返すものです。スプライトがくるっと1回転する様子を見ることができます。



スプライトが回転した跡を見てみましょう。「ペン」グループから「ペンを下ろす」を選んで加えます。実行すると円を描く様子が見えてさらに面白くなります。


もう少し手を加えてみましょう。

1)1度描いた円はそのままだと消えないので、2回目に描く時は前のが残ってしまって描く様子がわかりません。毎回新しく描くようにするには、ペンで描いたものを「消す」ブロックを加えます。

2)上図のスクリプトだと円の下部が多少欠けたようになってしまうので円全体をもう少し上の位置にあげます。これは円の描き出しの位置を上方向に少しかえればよいので、スクリプト実行開始のときのy座標を少しだけ上にします。


こんなふうに描けたでしょうか?


円とはいうもののすこしガクガクしています。もう少し滑らかにならないものでしょうか?そのためには少しずつ進んで、少しずつ回るようにすればよいのです。下図のスクリプトでは前のスクリプトの半分だけ進んで、半分だけ回っています。角度が半分になったので円にするためには12回の倍、24回だけ繰り返します。


少し滑らかになりました。


さらに滑らかにしてみましょう。今度は「5歩動いて、3度回る」を120回繰り返します。どうなるでしょうか?


こんなに滑らかになりました。さらに滑らかにすることができるでしょうか?試してみてください。

EOT


0 コメント:

コメントを投稿