1

分享

【Scratch 教學】分身管理 3 - Scratch老師就要會管

前篇介紹了管理 Scratch 分身的基本方法,提到了可以把分身的位置座標記錄到清單之中,就能輕易地對分身做"管理" 。但至於怎麼應用,由於點擊數破百,那傑夫老師就來加碼放送。
大家都知道,動作積木中有一個『面朝OO向』,這裡的OO可以是一個角色,但大家也都知道面朝的只能是"本尊"的方向。那麼,如何面朝特定某一個"分身"呢?那就需要將分身位置座標儲存在清單之中,再加上一點點數學運算來達成。
  

數學不好的請先去複習反三角函數 - arctan反正切函數(或者寫成 tan⁻¹ )

先來看看專案結果:定位在 (0, 0) 舞台中間的箭頭輪流轉向各個猴子分身,並說出各分身的編號與座標。
Scratch Scratch教學 傑夫老師 Scratch分身

箭頭輪流轉向各個猴子分身

猴子的程式跟前篇的相似,分身產生時給每個分身一個編號,並更換造型,只是多了兩個清單 ( 清單 X 與清單 Y ) 分別用來記錄各個分身的 x 座標與 y 座標。編號 1 號的 x 座標與 y 座標,就會被添加到清單的第 1 項;編號 2 號就會被添加到清單的第 2 項,以此類推。
Scratch Scratch教學 傑夫老師 Scratch分身

猴子的程式

Scratch Scratch教學 傑夫老師 Scratch分身

每個分身的座標依序添加至清單中

重點在於中間箭頭的程式,首先要注意的是,Scratch 的角度是正上方為 0 度,所以數學公式會有點不同,是  arctan ( ∆x/∆y ),Scratch 的積木是『atan 數值 』。
Scratch Scratch教學 傑夫老師 Scratch分身

先用 『atan 數值』積木求出角度

再來, arctan 算出來的角度也是一個負值。但求出來的角度在 -90 到 +90 之間,但若分身在舞台下半部,也就是 y座標小於 0 的時候,arctan 求出來的值就差了 180 度,那以下的方法看了請不要驚訝~
Scratch Scratch教學 傑夫老師 Scratch分身

再依照分身在舞台上下方做修正

放大來看:
Scratch Scratch教學 傑夫老師 Scratch分身

六角形的判斷積木被當作數字積木了

沒錯~六角形的判斷積木的可以當作圓形的數字積木做運算,如果判斷結果為「真」那麼值是 1;若為「否」值則為 0。
  

這對寫過 C/C++ 的人可能就見怪不怪了

Scratch Scratch教學 傑夫老師 Scratch分身

箭頭的完整程式

這樣,就可以讓箭頭指向各個分身了。數學是一切科學的基礎,一點都沒錯啊!好好的動動腦筋吧!Bye now~




#Scratch  #Scratch教學  #傑夫老師  #Scratch分身 
分類:學習

傑夫(Jeff)老師喜歡研究積木型(block)程式,如:Scratch, App Inventor, micor:bit,除了有一般中小學生的課程,也不定期的會開設Scratch師資培訓班,並且是「Scratch的100個技巧」的共同作者。

評論
上一篇
  • 【Scratch 教學】分身管理 2 - Scratch老師就要會管
  • 下一篇
  • 【Scratch 教學】等待 0 秒? 1 - Scratch 執行緒深入研究
  • 更多文章
    載入中... 沒有更多了