提供:Japanese Scratch-Wiki
このきじは ひらがなでよめません。ごめんなさい。編集者向け:作成する
() へ向ける | |
(マウスのポインター 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には、向かせたい座標を入れる。
関連項目
出典
() 歩動かす • () 度回す • () 度に向ける • () へ向ける • x座標を () 、y座標を () にする • () へ行く • () 秒でx座標を () に、y座標を () に変える • () 秒で () へ行く • x座標を () ずつ変える • x座標を () にする • y座標を () ずつ変える • y座標を () にする • もし端に着いたら、跳ね返る • 回転方法を () にする • x座標 • y座標 • 向きその他のブロック
|
GitHubでソースを見る: LLK/scratch-flash /src/primitives/MotionAndPenPrims.as 112行目