今回は、前回にプログラムを改造して、もう少し複雑な物にしてみましょう。
プログラムを改造する
保存したプログラムを読み込む
前回の最後にPCに保存した『初めてのプログラム』を読み込みましょう。
まずブラウザを開いて https://scratch.mit.edu/ にアクセスし、『作る』をクリックしてプログラム作成画面に移動します。
保存したプログラムの読み込みは画面左上の『ファイル』メニューから行います。『ファイル』→『コンピュータから読み込む』と順に選択(クリック)すると『開く』ダイアログが表示されるので、前回プログラムを保存したフォルダとファイル名を指定して『開く』ボタンをクリックします。
連続して動かす
プログラムを修正する
初めてのプログラムでは、旗アイコン をクリックするたびにScratchキャットが少し(10歩)動く、というものでした。これを、連続して動いていくようにしてみましょう。
たとえば『10歩動かす』を10回繰り返せば、連続して動いているように見えるかも知れません。
そのためのプログラムは、
としてもよいのですが、繰り返し回数が100回、1000回…となる場合のことを考えると現実的ではありません。
こんな用途のために、Scratchには、『〇回(10回)繰り返す』ブロックが用意されています。
『コ』の字を左右ひっくり返した形をしていますが、この凹んだ部分に他のブロックをはめ込むと、はめ込んだブロックの内容を〇回繰り返してくれます。
では、これを使って次のようにブロックを組み替えましょう。
『10回繰り返す』ブロックの中に『10歩動かす』をはめ込むことで、10歩×10回動くプログラムにします。
ブロックの組み方は下の動画を参考にして下さい。
実行
それでは実行してみましょう。
ちゃんと動きましたか?
ちょっとスピードが速すぎるような気がします。もしかしたら環境によっては、一瞬で10回分動いてしまうかもしれません。これは、命令を実行する速さを指定していないため、コンピュータができるだけ速く動作を繰り返してしまうためです。
速さを調節する
動く速さを調節しましょう。
ブロックパレットの『制御』の中に『〇秒待つ』というブロックがあるので、それを使って1回動くたびに少し待つようにプログラムを改造します。
「『10歩動かす』の後に『0.5秒待つ』」ことを10回繰り返す、というプログラムにします。
ブロックの組み方は下の動画を参考にして下さい。
実行
それでは実行してみましょう。
スタート位置を決める
このプログラムは、終了後にキャラクターの位置を元に戻してくれません。よって、何度も繰り返して実行するとScratchキャットがステージの外にはみ出してしまいます。
そこで、プログラムの開始時にキャラクターを最初の位置にセットする処理を追加しましょう。
ブロックパレットの『動き』の中に、『x座標を〇、y座標を〇にする』というブロックがあるので、これを使います。
『が押されたとき』のすぐ下に『x座標を0、y座標を0にする』を挿入して、プログラム開始時にキャラクターを初期位置に移動します。それだけだと初期位置に移動した直後にすぐ10歩動いてしまうので、『1秒待つ』も追加します。
ブロックの組み方は下の動画を参考にして下さい。
実行
それでは実行してみましょう。
歩いているアニメーションにする
かなりプログラムらしくなってきましたが、いまのところ Scratchキャット というキャラクターが移動しているだけで、あまりアニメーションという感じがしません。そこで、1回動くたびに手足のポーズを変えて歩いているように見えるアニメーションにしてみましょう。
Scratchキャットには、あらかじめ2パターンのポーズが登録されているので、そのパターンを交互に切り替えるようにすれば歩いているように見えそうです。
このようなパターンの切り替えには、ブロックパレットの『見た目』の中にある『次のコスチュームにする』を使います。Scratchの『コスチューム』とは衣服のことではなく、キャラクターのポーズの違いなども含めた見た目のパターンのことです。
『10歩動かす』の直後(実際はほとんど同時)に『次のコスチュームにする』を挿入します。これで1回動くたびにキャラクターのポーズが変わります。
ブロックの組み方は下の動画を参考にして下さい。
実行
では実行してみましょう。
キャラクターの向きを変えてみる
『動き』の中にある『(右回り)〇度回す』というブロックを使って、キャラクター(スプライト)の向きを変えてみましょう。
そろそろプログラムを見るのにも慣れてきて、なんとなく何をやっているのか判るようになってきたでしょうか?
組み立て方は下の動画を参考にして下さい。
実行
実行してみましょう。今回はキャラクターの動く範囲が大きいので、ステージを全画面化してから動作確認します。
このプログラムは終わるまでに少々時間がかかりますが、途中で止める場合は、旗アイコン の隣にある赤ボタン をクリックして下さい。そのとき、キャラクターの向きは画面右下のスプライト情報の『向き』を手作業で『90』に修正して下さい。
※プログラム開始時に、向きを自動的に右向きにするにはどうしたら良いでしょうか?
まとめ
今回は一気にいろいろな動作を追加しましたが、いかがだったでしょうか?
他のコンピュータ言語の教科書を見ると難しい文法が書いてあってとっつきにくそうなのですが、Scratchではそれぞれのブロックの細かい働きを憶えるよりも、まずはScratchの操作に慣れて、どんどん思いつくままにブロックを組み立ててみた方が早く上達できるように思います。
コメント