From Test-Scratch-Wiki

面朝 () 向
面朝 [滑鼠游標 v] 向
类别 动作类积木
形狀 条形积木

面朝 () 向积木Point Towards ())是个动作类条形积木。这个积木会让使用它的角色面朝滑鼠游标或是其它的角色(依该角色的造型中心点;这会改变角色的方向值并让角色旋转)。

用法示例

另一个面朝 () 度积木并不能指定角色面对什么物件,面朝 () 向积木则可以让你指定角色要面对哪个角色,或者是面对滑鼠游标。

以下是面朝 () 向积木的常见用法:

  • 制作一个不断面向滑鼠游标的角色
當 @greenflag 被點擊
重複無限次 
  面朝 [滑鼠游標 v] 向
  移動 (10) 點
end
  • 让角色跟着另一个角色移动
面朝 [角色2 v] 向
重複直到 <碰到 [角色2 v] ?> 
  移動 (5) 點
end
  • 指向专案里的一个目标
當收到訊息 [Hint v]//Hint 是「提示」的意思
面朝 [Treasure v] 向 //Treasure 是「宝藏」的意思,是另一个角色的名称

替代用法

主頁:Zho:替代用法列表

这个积木相当于以下代码,这里头用到了数学中的三角学(trigonometry):

變數 [delta_x v] 設為 (([x 座標 v] \( [角色1 v] \)) - (x座標))
變數 [delta_y v] 設為 (([y 座標 v] \( [角色1 v] \)) - (y 座標))
如果 <(delta_y) = [0]> 那麼 
  如果 <(delta_x) < [0]> 那麼 
    面朝 (-90 v) 度
  
    面朝 (90 v) 度
  end

  如果 <(delta_y) < [0]> 那麼 
    面朝 ((180) + ([atan v] 數值 ((delta_x) / (delta_y)))) 度
  
    面朝 ([atan v] 數值 ((delta_x) / (delta_y))) 度
  end
end

相关建议

Scratchers 希望能有相关的积木: 面朝 x: (0) y: (0) :: motion // 分到动作类积木里[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) + ([atan v] 數值 ((delta_x) / (delta_y)))) 度
  
    面朝 ([atan v] 數值 ((delta_x) / (delta_y))) 度
  end
end

里头的 (x)(y) 变量 等同于参数。

参考

参见