前回は猫がただまっすぐ歩くプログラムを作ったので、
今度はマウスを追っかけてくるプログラムを作ってみよう。
前回まで作ったのはこんな感じ
今回はこれを改造して猫がマウスを追いかけるプログラムにするよ
まず、今度はプログラムをずっと動かしたいから
「すべてを止める」ブロックは要らないので削除しよう。
削除したいブロックはまず、他のブロックから分ける必要がある。
「すべてを止める」ブロックをドラッグして他のブロックから分けよう
つぎに「すべてを止める」ブロックをブロックットにドラッグしてもどすか、
右クリックして「削除」を選ぼう。これで「すべてを止める」ブロックがスクリプトエリアから居なくなるよ
つぎに、猫をマウスカーソルに向けるために
「[]へ向ける」ブロックを「10歩動かす」ブロックと「旗がクリックされたとき」ブロックの間にドロップしよう。
このままでは、「[]へ向ける」ブロックにはどこへ向いたら良いかが書かれていないので、[]をクリックしてみよう。
「マウスのポインター」と表示されるので、それをクリックしよう
これで、マウスにむかって歩くスクリプトが出来た。
緑の旗をクリックすると、
猫が少しだけにじり寄ってくる。
なんども、緑の旗クリックしたら、また少しずつ、にじり寄ってくる。
でも、何度もクリックするのは面倒だから、ずっと追いかけてくるようにしてみよう。
「制御」ボタンを押して
「ずっと」ブロックを「マウスポインターへ向ける」ブロックの上にドラッグしよう。
「ずっと」ブロックが伸びて、「マウスポインターへ向ける」ブロックと「10歩動かす」ブロックをくわえるようになったらドロップしよう。
これで、「ずっと」ブロックがくわえている中のブロックが「ずっと」繰り返しで動くよ
緑の旗ボタンを押すと猫がずっとマウスを追いかけてくるよ
終わるには緑の旗ボタンのとなりにある赤い○ボタンを押そう。
プログラムを改良しよう
これで、猫が追いかけてくるプログラムが出来たけど。
さらに良くするためにもう少し改良を加えてみよう。
今のままだとプログラムを実行してマウスカーソルに猫が追いつかれたとき、
猫がぶるぶるとあばれちゃう。
そこで、マウスカーソルと離れているときだけ動くようにする処理を追加しよう。
「制御」をクリックして「もし<>なら」ブロックをドロップして「10歩動かす」ブロックをくわえさせよう。
「もし<>」ならブロックの<>のなかには条件がはいるよ。
今回の場合、マウスポインターと近いときという条件を追加する。
まず
数をクリックして「()>()」ブロックを「もし<>なら>ブロックの<>のなかにドラッグしてドロップする
これは左の数が右の数の方より大きければっていう条件になる。
調べるをクリックして
「[]までの距離」ブロックを「() > ()」ブロックの左側の()にドロップしよう。
「()>()」
「[]までの距離」の[]をクリックすると「マウスのポインター」がでてくるので、コレをクリック
次に
[(マウスのポインターまでの距離) > ()]ブロック右側の()に直接30と入力しよう
これで、猫がマウスポインターと重なると
ぴたりと止まるようになるよ
動作しているのを見てみたい場合は
ここまでのプログラム
さらに改良
これで、とりあえず、猫がおっかけてくるだけのプログラムは出来たんだけど
なんだか、すーっと動いて気持ち悪いし、
いまいち生き生きしてない。
ということで、さらに改良してみよう。
1.回転しないようにする
今は猫がくるくる回って回転して追いかけてくるけど、
上に行く場合は倒れたり、左に行く場合は上下反対になったり気持ち悪いから、回転しないようにしてみよう。
画面の上の方に小さく←→というボタンがあるから、それを押すだけ
2.足踏みさせよう
猫が歩いてきているようにみせるために、足踏みさせよう。
見た目をクリックして「10歩動かす」ブロックの下に「次のコスチュームにする」ブロックを入れよう。
3.足音を付けよう
音を使うには、まず、使う音を取り込んであげる必要がある。
スクリプトエリアの上にある、音タブをクリックすると、
スクリプトエリアが音エリアに変わる。
自分で音を録音しても良いけど、スクラッチには音が最初から用意されているので、今回はそれを使ってみる。
音エリアに、新しい音の右側[読み込み]ボタンをクリックする。
「Effects」を選んで
「Pop」を選んだらOKをクリックしよう
「Pop」が音に追加されているのをチェックしたら
「スクリプト」タブをおして、スクリプトエリアに戻ろう
「次のコスチュームにする」ブロックの下に
「[ニャー]の音を鳴らす」ブロックを置いて、
[ニャー]をクリックして[Pop]を選ぼう
これで、とことこと足音を立てながら追いかけてくるようになる。
4.到着したら[ニャー]
さらに、マウスポインターまで到着したら[ニャー]とならしてみよう
制御ボタンをクリックして
「10歩動かす」ブロックの下に
「もし<>なら」ブロックを置く。
調べるボタンをクリックして
「[]に触れた」ブロックを「もし<>なら」ブロックの<>において[]をマウスのポインターにしよう。
次に音ボタンをクリックして
もし<[マウスのポインター]に触れた>ならブロックの中に
「[Pop]の音を鳴らす」ブロックを置き、[Pop]を[ニャー]に変えよう。
さらに、「次のコスチューム」ブロックの上に「0.2拍休む」ブロックを置いて速度を調整しよう。
ここまでで、
下のようなプログラムになるよ
実行してみると
こんな具合
こうやってどんどんブロックを組み合わせていくことで
複雑なプログラムが作れる。
もちろん。猫が追っかけてくるだけじゃなく、
キャラクタを増やせば
アクションゲームやシューティングゲームも作れるぞ
スクラッチその2 猫が追いかけてくるプログラムを作る
2009/4/4 16456hit
関連日記
Android用画像素材を作るためのスクリプトを公開しました
AppInventorで世界一簡単にAndroidアプリを作る
初めてのプログラム 3日目 SmallBASICで足し算プログラム
MultiMedia Fusion 2 or(論理式)とor(フィルタ)の違い
Multimedia Fusion2 背景オブジェクトに穴ほがす
Android Studio 4.0 Canary 1の概要を訳してみた。