繪製折線圖
這篇文章會介紹,在 Scratch 裡使用擴充功能的畫筆,搭配函式、清單、定位、重複無限次...等積木,實作透過清單的數值內容,繪製折線圖。
角色設定
在角色編輯區,刪除貓咪角色,加入一個「空白」的角色 ( 參考:Scratch 角色設定 )。
因為待會使用畫筆繪圖,不會出現角色,所以直接使用全空的空白角色。
積木程式原理 ( xy 軸線 )
從左側積木清單,新增一個名為「xy 軸」的函式,勾選「執行完畢再更新畫面」。
加入擴充功能的「畫筆」,設定點擊綠旗時,清空畫面筆跡與停筆,執行「xy 軸」函式,接著編輯函式內容:
- 設定筆跡顏色為黑色,筆跡粗細為 3。
- 定位到左上的位置 (-220, 100)。
- 下筆。
- 定位到左下 (-220, -100),從左上畫到左下。
- 定位到右下 (220, -100 ),從左下畫到右下。
- 停筆。
積木程式原理 ( 折線圖 )
從左側積木清單裡,新增一個名為「a」的清單,在點擊綠旗時,清空 a 的內容,並使用重複 30 次積木,加入 30 個項目 ( 加入的數值使用 -100 到 100 的隨機數 )。
新增一個名為「折線圖 A」的函式,勾選「執行完畢再更新畫面」。
編輯「折線圖 A」函式內容:
- 新增一個變數 x,數值設定 -220,作為 x 座標使用。
- 使用重複積木,重複「清單 a 的長度」次,每次重複執行:
- 設定筆跡顏色
- 根據變數 x 和清單的第一個項目的數值,定位到指定的座標位置。
- 下筆畫畫。
- 刪除清單第一個項目,讓第二個項目變成第一個項目。
- 將變數 x 改變 15,往右移動。
- 重複結束後,停筆。
為什麼要用「定位」而不用「x 設為」或「y 設為」呢?因為如果使用了「x 設為」或「y 設為」,由於積木執行順序的關係,會造成折線圖畫出來像「階梯」的形狀 ( 使用「x 設為」時,y 座標不會改變,所以會水平移動 )。
最後在點擊綠旗的時候,執行「折線圖 A」函式,舞台上就會畫出折線圖。
新增另外兩個清單 b 和 c,重複上面的步驟,新增「折線圖 B」和「折線圖 C」函式,分別設定不同的筆跡顏色。
編輯點擊綠旗的內容,替清單 b 和 c 加入隨機數值,並執行「折線圖 B」和「折線圖 C」函式。
完成效果
完成後,點擊綠旗,舞台上就會出現三條不同顏色的折線圖。
範例解答
範例解答:繪製折線圖
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~