提供: Japanese Scratch-Wiki

(英語版からの翻訳)
 
(表現の整理)
1行目: 1行目:
 
[[File:Follow Mouse.png|thumb|176px|マウスを追いかけるスプライト]]
 
[[File:Follow Mouse.png|thumb|176px|マウスを追いかけるスプライト]]
このチュートリアルでは、[[マウス]]に'''ずっとくっついて動く'''タイプのスプライトの作り方をいくつか紹介する。この中には、ボタンが押されたときだけ動くもの、マウスが近くにいるときだけ動くもの、マウスから一定の距離を保つもの、などさまざまなバリエーションがある。
+
このチュートリアルでは、[[マウス]]に'''ずっとくっついて動く'''タイプのスプライトの作り方を紹介する。マウスを追いかけるスプライトと一口にいっても、ボタンが押されたときだけ動くもの、マウスが近くにいるときだけ動くもの、マウスから一定の距離を保つもの、などさまざまなバリエーションがある。
  
{{メモ|ここで紹介する[[スクリプト]]で、マウスではなく、別の[[スプライト]]を追いかけるスプライトも実現できる。}}
+
{{メモ|ここで紹介する[[スクリプト]]は、マウスではなく、別の[[スプライト]]を追いかけるスプライトにも応用できる。}}
  
 
== ずっとマウスにくっついて動く ==
 
== ずっとマウスにくっついて動く ==
  
次ののスクリプトを使うと、スプライトをずっとマウスと同じ場所にくっつけることができる:
+
次のスクリプトを使うと、スプライトがずっとマウスにくっついて動くようになる:
  
 
<scratchblocks>
 
<scratchblocks>
16行目: 16行目:
  
 
== マウスの後ろをついていく ==
 
== マウスの後ろをついていく ==
次のスクリプトをつかうと、スプライトがマウスを追いかける。先ほどとにているが、すばやくマウスを動かしたときに、スプライトの動きが少し遅れるのが違いだ。
+
次のスクリプトをつかうと、スプライトがマウスを後から追いかけるようになる。先ほどと似ているが、すばやくマウスを動かしたときに、スプライトの動きが少し遅れる点が違う。
  
 
<scratchblocks>
 
<scratchblocks>

2017年7月30日 (日) 05:31時点における版

マウスを追いかけるスプライト

このチュートリアルでは、マウスずっとくっついて動くタイプのスプライトの作り方を紹介する。マウスを追いかけるスプライトと一口にいっても、ボタンが押されたときだけ動くもの、マウスが近くにいるときだけ動くもの、マウスから一定の距離を保つもの、などさまざまなバリエーションがある。

Warning メモ: ここで紹介するスクリプトは、マウスではなく、別のスプライトを追いかけるスプライトにも応用できる。

ずっとマウスにくっついて動く

次のスクリプトを使うと、スプライトがずっとマウスにくっついて動くようになる:

@ がクリックされたとき
ずっと
  [マウスのポインター v] へ行く
end

マウスの後ろをついていく

次のスクリプトをつかうと、スプライトがマウスを後から追いかけるようになる。先ほどと似ているが、すばやくマウスを動かしたときに、スプライトの動きが少し遅れる点が違う。

@ がクリックされたとき
ずっと
  [マウスのポインター v] へ向ける
  (10) 歩動かす
end

または、次のようにする方法もある。

 
@ がクリックされたとき
ずっと
(0.1) 秒でx座標を (マウスのx座標) に、y座標を (マウスのy座標) に変える
end

秒数を指定すれば、自由にスプライトの速度を変えられる。

条件を満たしたときだけマウスを追いかける

次のスクリプトでは、マウスの左ボタンがクリックされている間だけマウスを追いかける。マウスが押されたブロックの場所に、好きな真偽ブロック を入れることができる。

@ がクリックされたとき
ずっと
  もし <マウスが押された> なら
  (0.1) 秒でx座標を (マウスのx座標) に、y座標を (マウスのy座標) に変える
end
end

マウスが近くにいるときだけ、追いかける

次のスクリプトでは、スプライトとマウスが指定した距離より近い場合のみ、スプライトがマウスを追いかける。

@ がクリックされたとき
ずっと
  もし <([マウスのポインター v] までの距離) < [100]> なら
  (0.1) 秒でx座標を (マウスのx座標) に、y座標を (マウスのy座標) に変える
end
end

一定の距離をおいて追いかける

次のスクリプトでは、スプライトがマウスに近づいていくが、絶対にマウスポインターの位置まではやってこない。このスクリプトでは距離が50より近い場合は、スプライトがマウスから遠ざかり、距離50〜70までの間にいるスプライトはまったく動かない。そのため、スプライトが比較的なめらかに移動する。

@ がクリックされたとき
ずっと
  [マウスのポインター v] へ向ける
  もし <([マウスのポインター v] までの距離) < [50]> なら
    (-10) 歩動かす
  end
  もし <([マウスのポインター v] までの距離) > [70]> なら
    (10) 歩動かす
  end
end

マウスが遠くにいるときはスピードを上げる

次のスクリプトでは、スプライトからマウスが遠くにいればいるほど素早くマウスに近づいていき、近くまでくると徐々にスピードをおとす。

@ がクリックされたとき
ずっと
  [マウスのポインター v] へ向ける
  (([マウスのポインター v] までの距離) / (12)) 歩動かす
end
Warning メモ: 数値「12」を増やすとスプライトの速度が全体的に遅くなる。一方、減らすと全体的に速くなる