
スクラッチにはだいぶ慣れてきたでしょうか?
まだ不安な人は基本となる操作をしたの記事をみて覚えておきましょう!
今回は鳥が空を飛んでいる風に動かしてみましょう!
今までやってきたことで簡単にできますのでぜひチャレンジしてください。
目次
建物をセットしよう!スプライトを追加する
まずは空を飛んでいる雰囲気を出すために建物を追加しましょう。
スプライトの追加は『スプライト』エリアにある右下のボタンから追加します。
ボタンをクリックしたら一覧が表示されますので検索欄に「build」と入力しましょう。
すると『Buildings』のスプライトが表示されますのでクリックします。
上記のように表示されていればOKです。
建物を動かそう
次に建物を動かしてみましょう。
建物を動かしてみよう
建物を動かすには『Buildings』ブロックを選択している状態で『move』を使いましょう。
鳥が左から右に動いているように見せたいので建物を右から左に動くようにします。
moveのカッコの中には『-10』を設定するようにしましょう。
self.when(:flag_clicked) do move(-10) end
建物が左に動くようになりましたね。
繰り返し処理を使って建物を自動で動かそう
もっとわかりやすくするために繰り返し処理を使って建物が動くようにしましょう。
『loop』命令を使いましょう。
self.when(:flag_clicked) do loop do move(-10) end end
上記のように動いていればOKです。
ただこのままだと1度動かしてしまうとずっと左端にいたままになっていますね。
右端に戻す処理を追加してみましょう。
右に移動させるにはx座標を戻す命令、『self.x = 〇〇』を使いましょう。
値は250にして、loopの上に追加します。
self.when(:flag_clicked) do self.x = 250 loop do move(-10) end end
いい感じに動いてますね。
何度も何度も建物を動かしてみよう!
さらに繰り返し処理を使って何度も建物が動くようにしたいですね。
もう1つ『loop』命令を追加してみましょう!
self.when(:flag_clicked) do loop do self.x = 250 loop do move(-10) end end end
あれ? 繰り返し何度も建物が動いて欲しかったのですが動きませんね。
どこが悪いのでしょうか?
中に入っている2番目の『loop』から抜け出せていないようです。
中に入っている2番目の『loop』を変更しましょう。
建物がどうなったら-10歩動かすことをやめて良いでしょうか?
建物が左端にきた時ですね。
左端にきた時を判断する材料に『x座標』を使いましょう。
建物が左端に行った時にx座標は-266になっていますね。
建物のx座標が-250より小さくなったら-10歩を動かすことをやめるようにしてみましょう。
繰り返し処理には『until 〇〇 ~ end』命令を使います。
〇〇まで~の処理を繰り返してくれます。
〇〇の中には『x座票が-250より小さい』を設定してみましょう。
self.when(:flag_clicked) do loop do self.x = 250 until x < -250 move(-10) end end end
この状態で動かしてみましょう!
いい感じに動いてますね!
建物を変更してみよう!
同じ建物が行ったりしているだけでは少しつまらないので建物が変わるようにしてみましょう。
建物を変更するには 『next_costume』命令を使いましょう。
『until』命令のしたに追加して動かしてみましょう!
self.when(:flag_clicked) do loop do self.x = 250 until x < -250 move(-10) end next_costume end end
いいですね、スプライトが動き回っている感じが出てきましたね。
鳥を動きをつけてみよう
建物がいい感じに動くようになりましたので鳥のスプライトに変更しましょう。
まずは鳥が飛んでいる絵に変えましょう。
スプライトの追加から「toucan」と入力すると鳥のスプライトがありますのでクリックして追加しましょう。
追加したら最初に追加していたスプライトを削除して『Toucan』スプライトを適当なところに移動させましょう。
飛んでいる猫のコスチュームを変更しよう!
『Toucan』スプライトのコスチュームを変更してさらに飛んでいる雰囲気を出しましょう。
コスチュームの変更のしかたは大丈夫ですね。
『loop』命令と『next_costume』命令を追加して動かしてみましょう!
self.when(:flag_clicked) do loop do next_costume end end
動きが速すぎてよくわかりませんね。
動きをゆっくりにするために『next_costume』命令の上に『sleep』命令をおきましょう。
値は0.2にして動かしてみましょう!
self.when(:flag_clicked) do loop do sleep(0.2) next_costume end end
いい感じに動きましたね、ただあと少し気になるところが・・・
止まっているように見えるコスチュームがあるので削除しちゃいましょう。
コスチュームタブをクリックすると3枚のコスチュームが表示されます。
1番目の『toucan-a』を削除しましょう。
削除したらもう1度動かしてみましょう!
ずっと羽ばたいている感がでましたね。
今回はここまでです、お疲れ様でした!