提供: Japanese Scratch-Wiki

The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
このきじは ひらがなのページがありません。ごめんなさい。
() へ向ける
[マウスのポインター v] へ向ける
カテゴリ 動き
タイプ スタック

() へ向けるブロック動きブロックスタックブロック)を使うと、現在のスプライトを、マウスのポインター、または、他のスプライト(コスチュームの中心が基準となる)に向けることができる。これによって、スプライトの向きが変わり、スプライトが回転する。

使用例

() 度に向けるブロックが、特定のオブジェクトを向くものではないのに対し、「() へ向ける」ブロックは、別のスプライトやマウスポインターの方向にスプライトの向きを変更できる。 「() へ向ける」ブロックのよくある使用例は次のとおり:

  • スプライトが常にマウスポインターの方を向くようにする
@greenFlag が押されたとき::events hat
ずっと
[マウスのポインター v] へ向ける
(10) 歩動かす
  • スプライトの進むべき方向を示す
[スプライト2 v] へ向ける
<[スプライト2 v] に触れた> まで繰り返す
(5) 歩動かす
[ヒント v] を受け取ったとき
[たからもの v] へ向ける

別のブロックによる表現

このブロックは、次のように三角法(三角関数)を使うと、別のブロックで代用できる。

[delta_x v] を (([スプライト1 v] の [x 座標 v]::sensing) - (x 座標)) にする
[delta_y v] を (([スプライト1 v] の [y 座標 v]::sensing) - (y 座標)) にする
もし <(delta_y) = [0]> なら
もし <(delta_x) < [0]> なら
(-90 v) 度に向ける
でなければ
(90 v) 度に向ける
end
でなければ
もし <(delta_y) < [0]> なら
((180) + (((delta_x) / (delta_y)) の [atan v]::operators)) 度に向ける
でなければ
(((delta_x) / (delta_y)) の [atan v]::operators) 度に向ける

関連提案

複数のScratcherから、このブロックに近い、特定の座標位置を向くブロックの導入が要望されている [1]

しかしこの動作は、向かせたい座標に別のスプライトを置いて「() へ向ける」ブロックを使うか、次のスクリプトを使うことで実現できる。

[delta_x v] を ((x) - (x座標)) にする
[delta_y v] を ((y) - (y座標)) にする
もし <(delta_y) = [0]> なら
もし <(delta_x) < [0]> なら
(-90 v) 度に向ける
でなければ
(90 v) 度に向ける
end
でなければ
もし <(delta_y) < [0]> なら
((180) + (((delta_x) / (delta_y)) の [atan v]::operators)) 度に向ける
でなければ
(((delta_x) / (delta_y)) の [atan v]::operators) 度に向ける

変数 xとyには、向かせたい座標を入れる。

関連項目

出典

Cookieは私達のサービスを提供するのに役立ちます。このサービスを使用することにより、お客様はCookieの使用に同意するものとします。