提供:Japanese Scratch-Wiki
このきじは ひらがなでよめません。ごめんなさい。編集者向け:作成する
このチュートリアルでは、マウスにずっとくっついて動くタイプのスプライトの作り方を紹介する。マウスを追いかけるスプライトと一口にいっても、ボタンが押されたときだけ動くもの、マウスが近くにいるときだけ動くもの、マウスから一定の距離を保つもの、などさまざまなバリエーションがある。
ずっとマウスにくっついて動く
次のスクリプトを使うと、スプライトがずっとマウスにくっついて動くようになる:
@greenFlag が押されたとき::events hat ずっと [マウスのポインター v] へ行く end
マウスの後ろをついていく
次のスクリプトをつかうと、スプライトがマウスを後から追いかけるようになる。先ほどと似ているが、すばやくマウスを動かしたときに、スプライトの動きが少し遅れる点が違う。
@greenFlag が押されたとき::events hat ずっと [マウスのポインター v] へ向ける (10) 歩動かす end
または、次のようにする方法もある。
@greenFlag が押されたとき::events hat ずっと (0.1) 秒でx座標を (マウスのx座標) に、y座標を (マウスのy座標) に変える end
秒数を指定すれば、自由にスプライトの速度を変えられる。
より正確にするには次のようにする。
@greenFlag が押されたとき::events hat ずっと [マウスのポインター v] へ向ける もし<([マウスのポインター v]までの距離)\>(10)>なら (10) 歩動かす でなければ ([マウスのポインター v]までの距離) 歩動かす end
条件を満たしたときだけマウスを追いかける
次のスクリプトでは、マウスの左ボタンがクリックされている間だけマウスを追いかける。マウスが押されたブロックの場所に、好きな真偽ブロック を入れることができる。
@greenFlag が押されたとき::events hat ずっと もし <マウスが押された> なら (0.1) 秒でx座標を (マウスのx座標) に、y座標を (マウスのy座標) に変える end end
マウスが近くにいるときだけ、追いかける
次のスクリプトでは、スプライトとマウスが指定した距離より近い場合のみ、スプライトがマウスを追いかける。
@greenFlag が押されたとき::events hat ずっと もし <([マウスのポインター v] までの距離) < [100]> なら (0.1) 秒でx座標を (マウスのx座標) に、y座標を (マウスのy座標) に変える end end
一定の距離をおいて追いかける
次のスクリプトでは、スプライトがマウスに近づいていくが、絶対にマウスポインターの位置まではやってこない。このスクリプトでは距離が50より近い場合は、スプライトがマウスから遠ざかり、距離50〜70までの間にいるスプライトはまったく動かない。そのため、スプライトが比較的なめらかに移動する。
@greenFlag が押されたとき::events hat ずっと [マウスのポインター v] へ向ける もし <([マウスのポインター v] までの距離) < [50]> なら (-10) 歩動かす end もし <([マウスのポインター v] までの距離) > [70]> なら (10) 歩動かす end end
マウスが遠くにいるときはスピードを上げる
次のスクリプトでは、スプライトからマウスが遠くにいればいるほど素早くマウスに近づいていき、近くまでくると徐々にスピードをおとす。
@greenFlag が押されたとき::events hat ずっと [マウスのポインター v] へ向ける (([マウスのポインター v] までの距離) / (12)) 歩動かす end
メモ:
数値「12」を増やすとスプライトの速度が全体的に遅くなる。一方、減らすと全体的に速くなる