Scratch 色々な“~に触れたなら”
他のスプライトに触れたなら
背景のある部分に触れたなら
・・・
など
ある部分に触れたときに、動作するようにしたい
といったときに使えるコード(ブロック)を解説します
条件分岐の幅がぐっと広がるので
ぜひ最後まで読んでください
~に触れたブロック
~に触れたブロックは、3つあり、
調べる(水色)エリアの一番上にあります
マウスのポインターに触れたブロックはドロップダウンになっていて、
端や、他のスプライトを選ぶことができます
色に触れたブロックは、色の部分を押すと
このように指定することができます
スポイト機能の説明
先ほどの色を指定するメニューの一番下に
スポイトマークがあります
このスポイトを押すと、画面の中にある色を指定することができます
例えば、背景の薄橙色のところを指定したい場合は以下のように操作します
スポイトボタンを押して、画面上の好きな位置でクリックすると
その場所の色を吸い上げてくれるんです
バナナに触れたなら、バナナを食べて、「おいしかった」と言う
それでは、~に触れたブロックをつかって、
プログラムをつくってみます
まずは、スプライトに触れたならというブロックをつかって、
バナナに触れたなら、バナナを食べて、「おいしかった」と言う
プログラムです
バナナに触れたときのコードはこちらです
バナナに触れたというブロックを、条件分岐のブロックに入れて使います
いつバナナに触れるか分からないので、旗がクリックされてから、すっと繰り返しチェックし続けます
この「ずっと」を入れ忘れると、旗がクリックされたときしか、チェックしてくれませんので、
注意が必要です
(よくやってしまう失敗です)
「バナナを食べた」というメッセージを送って、
それをバナナ側で受け取って、食べ終わったときにステージから消えるようにしています
ネコが土俵から出たら
次は、色に触れたブロックをつかって、ネコが土俵から出たらという条件をつくってみます
背景が白い部分を土俵だと見立てて、その外側の薄橙色に触れたならという条件にします
ブロックはこちら
簡単にできましたね
ただ、この場合少し困ることがあります
このように、足は出ていなくても、頭が出たら土俵から出たことになってしまいます
ネコのどの部分が薄橙色に触れても、出たことになるからです
これを解決するために
色が色に触れたというブロックをつかいます
色が色に触れたブロックをつかって、ネコの足が土俵を出たらという条件にします
色が色に触れたブロック
でもその前に、ネコに少し工夫をしましょう
ネコのコスチュームで、足裏に青い靴を履かせました
コスチュームの操作については、こちらをご参考下さい
では、元に戻って、
先ほどご紹介したスポイト機能を使って、履かせた靴の色を吸い上げてください
これで“靴が”という条件をつくることができました
2つ目の色は、先ほどと同様薄橙色ですね
これで靴が土俵の外に触れたというブロックの完成です
このブロックを先ほどの条件文に入れてあげると
いかがでしょうか?頭が出ても、何も起こらず、足が出たときだけ、「土俵から出ちゃった」になりましたよね
ちなみに、コードはこちら
こんな形で、背景の一部やスプライトの一部が触れたときという条件をつくりたいときに、
色に触れたブロックが有効です
(終わり)