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) 變量 等同於參數。

參考

參見