電風扇 ( 控制強度 )
這篇文章會介紹,如何在 Scratch 裡使用變數、廣播訊息、重複、函式、繪製角色、旋轉...等積木,實作一個可以調整強度的虛擬電風扇 ( 使用加減速的方式切換強度 )。
角色設定
在角色編輯區,刪除貓咪角色,使用「繪畫」新增電風扇角色 ( 參考:造型與繪圖 ),切換到「造型」頁籤,使用「圓形」工具,畫出一個簡單的電風扇,將電風扇對齊畫布的中心。
繼續使用使用「繪畫」新增按鈕角色,使用,切換到「造型」頁籤,使用「方形」和「文字」工具,畫出一個方形的開關,上面寫著文字「關」( 白底黑字 ),名稱命名為 1,將按鈕對齊畫布中心。
複製開關的造型,將顏色改成紅底白字,名稱命名為 2,兩個造型除了顏色不同,位置和大小完全相同。
重複上述的步驟,繼續建立「弱」、「中」、「強」三個角色。
在舞台上,將角色排列如下圖所示。
積木程式原理 ( 按鈕 )
點擊「關」的按鈕角色,設定相關動作:
- 當綠旗被點擊時,造型切換為 2 ( 紅底 )。
- 當角色被點擊時,廣播「關」的訊息,造型切換為 2 ( 紅底 )。
- 收到「弱」、「中」、「強」的訊息時,造型切換為 1 ( 白底 )。
重複同樣的步驟,編輯「弱」、「中」、「強」的按鈕角色動作。
積木程式原理 ( 電扇 )
點擊「電扇」角色,設定點擊綠旗的動作:
- 新增「速度」變數,將速度變數設定為 0。
- 廣播「關」訊息。
- 使用重複無限次積木,按照速度變數的數值,進行右轉的動作。
放入收到廣播訊息「關」、「弱」、「中」、「強」的積木,執行對應的動作:
- 當收到訊息「關」:使用重複積木,不斷將速度減少 1,直到速度為 0。
- 當收到訊息「弱」:速度設定為 15。
- 當收到訊息「中」:速度設定為 30。
- 當收到訊息「強」:速度設定為 45。
完成後,點擊綠旗,就可以用滑鼠點擊按鈕,切換電風扇強度,看到基本的效果。
積木程式原理 ( 加減速調整 )
雖然已經可以切換電扇的強弱,但在切換強度的過程中,因為是直接將速度變成某個數值,所以並沒有「加減速」的感覺,導致看起來有點不順暢,為了修正這個問題,必須修改剛剛做好的程式。
從左側積木清單,新增 run 和 stop 兩個變數,並在點擊綠旗時,設定變數 run 為 0 ( 表示尚未開始 )。
- 變數 run:判斷該狀態 ( 某個強度 ) 是否開始。
- 變數 stop:判斷該狀態 ( 某個強度 ) 是否停止。
新增一個名為「加速度」的函式,加入一個「a」參數。
編輯加速度函式:
- 設定變數 run 為 1,表示該狀態開始。
- 使用重複積木,重複直到「速度等於 a」或「stop 等於 1」為止 ( 速度抵達指定速度或被強制停止 )
- 每次重複時,判斷如果速度大於指定速度 a,就將速度減少。
- 如果速度小於指定速度 a,就增加速度。
- 重複結束後,將 run 設定為 0,表示狀態已經完成 ( 速度抵達指定速度或被強制停止 )。
新增一個名為「切換」的函式,加入一個「強度」參數。
編輯強度函式:
- 將變數 stop 設為 1 ( 切換強度時,搭配加速度函式,強制停止目前狀態 )。
- 等待直到 run 為 0,表示可以開始進行下一個狀態。
- 設定 stop 為 0,表示可以繼續開始。
- 執行加速度函式,將「強度」參數提供給加速度函式。
兩個函式都完成後,修改收到訊息的動作,改成執行「切換」函式,並給予對應的強度數值。
完成效果
完成後,將「速度」變數顯示在舞台上,點擊綠旗,用滑鼠切換電風扇強度,就會看見速度的變化,風扇也會以加速減速的方式切換強度。
範例解答
範例解答:電風扇 ( 控制強度 )
延伸練習
如果已經熟悉了電風扇 ( 控制強度 )的原理,還可以嘗試更多好玩的作法:
- 加入音效 ( 大小聲 ),讓風扇轉動更逼真。( 解答 )
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~