蜘蛛結網 ( 八邊形網 )
這篇文章會介紹,如何在 Scratch 裡使用畫筆、函式、重複無限次、數學計算、三角函數...等積木,實作蜘蛛結網的動畫與繪圖效果 ( 蜘蛛會在畫面中吐絲結網,結出一個八邊形的蜘蛛網 )。
角色設定
在角色編輯區,刪除貓咪角色,加入「瓢蟲」角色,當作蜘蛛使用 ( 參考:Scratch 角色設定 )。
積木程式原理
點擊蜘蛛角色,從左側積木清單裡,新增一個名為「放射線」的函式,勾選「執行完畢再更新畫面」,透過這個函式,先繪製蜘蛛網的八條放射狀主線。
加入「擴充功能」的畫筆,編輯「放射線」函式內容:
- 畫出「中間下到上」的一條線 (0, -180) 到 (0, 180)。
- 畫出「右上到左下」的一條線 (180, 180) 到 (-180, -180)。
- 畫出「中間右到左」的一條線 (240, 0) 到 (-240, 0)。
- 畫出「右下到左上」的一條線 (180, -180) 到 (-180, 180)。
注意,兩條斜線使用 x 座標為 180 和 -180,讓交錯後變成正方形,方便使用「正八邊形」來繪製蜘蛛網。
編輯點擊綠旗時,清空筆跡和停筆,設定筆畫的顏色和粗細,執行「放射線」函式後,舞台上就會出現四條交錯的放射線。
按照下圖的公式,了解如何計算八角形的邊長,知道邊長後,就能讓蜘蛛角色畫出蜘蛛網的線。
修改點擊綠旗積木:
- 設定尺寸為 50%
- 面朝 112.5 度 ( 預設 90 度,往下旋轉 22.5 度就變成 112.5 度,22.5 度為八邊形 45 度的一半 )。
- 定位到 (0, 5),表示往上移動 5 點。
- 按照公式,因為 R 為 5,所以邊長就是「5 x sin(22.5) x 2」。
知道一開始的邊長後,就可以讓蜘蛛開始織網。
- 下筆畫畫,開始織網。
- 使用重複積木,重複直到邊長大於 140 就停止。
- 每次重複將邊長改變 1,並移動邊長的距離,移動後旋轉 45 度 ( 正八邊形每個角度 45 度 )。
- 每次重複等待 0.05 秒。
- 重複結束後,停筆,將蜘蛛移動回中心點。
完成效果
完成後,點擊綠旗,蜘蛛就會在舞台上織出一個八邊形的蜘蛛網。
範例解答
範例解答:蜘蛛結網 ( 八邊形網 )
延伸練習
如果已經熟悉蜘蛛結網 ( 八邊形網 ) 的原理,還可以嘗試更多好玩的作法:
- 嘗試修改每次重複邊長改變的數值,看看會織出的蜘蛛網會長怎樣。
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~