iT邦幫忙

2021 iThome 鐵人賽

DAY 19
0
自我挑戰組

Scratch 3 從入門到精通系列 第 19

Day 19 ( 中級 ) 電風扇 ( 控制強度 )

  • 分享至 

  • xImage
  •  

電風扇 ( 控制強度 )

教學原文參考:電風扇 ( 控制強度 )

這篇文章會介紹,如何在 Scratch 3 裡使用變數、廣播訊息、重複、函式、繪製角色、旋轉...等積木,實作一個可以調整強度的虛擬電風扇 ( 使用加減速的方式切換強度 )。

相關文章參考:變數廣播訊息重複函式繪製角色旋轉

角色設定

在角色編輯區,刪除貓咪角色,使用「繪畫」新增電風扇角色 ( 參考:造型與繪圖 ),切換到「造型」頁籤,使用「圓形」工具,畫出一個簡單的電風扇,將電風扇對齊畫布的中心

Scratch 3 教學 - 電風扇 ( 控制強度 )

繼續使用使用「繪畫」新增按鈕角色,使用,切換到「造型」頁籤,使用「方形」和「文字」工具,畫出一個方形的開關,上面寫著文字「關」( 白底黑字 ),名稱命名為 1,將按鈕對齊畫布中心

Scratch 3 教學 - 電風扇 ( 控制強度 )

複製開關的造型,將顏色改成紅底白字,名稱命名為 2,兩個造型除了顏色不同,位置和大小完全相同。

Scratch 3 教學 - 電風扇 ( 控制強度 )

重複上述的步驟,繼續建立「弱」、「中」、「強」三個角色。

Scratch 3 教學 - 電風扇 ( 控制強度 )

在舞台上,將角色排列如下圖所示。

Scratch 3 教學 - 電風扇 ( 控制強度 )

積木程式原理 ( 按鈕 )

點擊「關」的按鈕角色,設定相關動作:

  • 當綠旗被點擊時,造型切換為 2 ( 紅底 )。
  • 當角色被點擊時,廣播「關」的訊息,造型切換為 2 ( 紅底 )。
  • 收到「弱」、「中」、「強」的訊息時,造型切換為 1 ( 白底 )。

Scratch 3 教學 - 電風扇 ( 控制強度 )

重複同樣的步驟,編輯「弱」、「中」、「強」的按鈕角色動作。

Scratch 3 教學 - 電風扇 ( 控制強度 )

積木程式原理 ( 電扇 )

點擊「電扇」角色,設定點擊綠旗的動作:

  • 新增「速度」變數,將速度變數設定為 0。
  • 廣播「關」訊息。
  • 使用重複無限次積木,按照速度變數的數值,進行右轉的動作

Scratch 3 教學 - 電風扇 ( 控制強度 )

放入收到廣播訊息「關」、「弱」、「中」、「強」的積木,執行對應的動作:

  • 當收到訊息「關」:使用重複積木,不斷將速度減少 1,直到速度為 0。
  • 當收到訊息「弱」:速度設定為 15。
  • 當收到訊息「中」:速度設定為 30。
  • 當收到訊息「強」:速度設定為 45。

Scratch 3 教學 - 電風扇 ( 控制強度 )

完成後,點擊綠旗,就可以用滑鼠點擊按鈕,切換電風扇強度,看到基本的效果。

Scratch 3 教學 - 電風扇 ( 控制強度 )

積木程式原理 ( 加減速調整 )

雖然已經可以切換電扇的強弱,但在切換強度的過程中,因為是直接將速度變成某個數值,所以並沒有「加減速」的感覺,導致看起來有點不順暢,為了修正這個問題,必須修改剛剛做好的程式。

從左側積木清單,新增 run 和 stop 兩個變數,並在點擊綠旗時,設定變數 run 為 0 ( 表示尚未開始 )。

  • 變數 run:判斷該狀態 ( 某個強度 ) 是否開始。
  • 變數 stop:判斷該狀態 ( 某個強度 ) 是否停止。

Scratch 3 教學 - 電風扇 ( 控制強度 )

新增一個名為「加速度」的函式,加入一個「a」參數。

Scratch 3 教學 - 電風扇 ( 控制強度 )

編輯加速度函式:

  • 設定變數 run 為 1,表示該狀態開始。
  • 使用重複積木,重複直到「速度等於 a」或「stop 等於 1」為止 ( 速度抵達指定速度或被強制停止 )
  • 每次重複時,判斷如果速度大於指定速度 a,就將速度減少。
  • 如果速度小於指定速度 a,就增加速度
  • 重複結束後,將 run 設定為 0,表示狀態已經完成 ( 速度抵達指定速度或被強制停止 )。

Scratch 3 教學 - 電風扇 ( 控制強度 )

新增一個名為「切換」的函式,加入一個「強度」參數。

Scratch 3 教學 - 電風扇 ( 控制強度 )

編輯強度函式:

  • 將變數 stop 設為 1 ( 切換強度時,搭配加速度函式,強制停止目前狀態 )。
  • 等待直到 run 為 0,表示可以開始進行下一個狀態。
  • 設定 stop 為 0,表示可以繼續開始。
  • 執行加速度函式,將「強度」參數提供給加速度函式

Scratch 3 教學 - 電風扇 ( 控制強度 )

兩個函式都完成後,修改收到訊息的動作,改成執行「切換」函式,並給予對應的強度數值。

Scratch 3 教學 - 電風扇 ( 控制強度 )

完成效果

完成後,將「速度」變數顯示在舞台上,點擊綠旗,用滑鼠切換電風扇強度,就會看見速度的變化,風扇也會以加速減速的方式切換強度。

Scratch 3 教學 - 電風扇 ( 控制強度 )

範例解答

範例解答:電風扇 ( 控制強度 )

延伸練習

如果已經熟悉了電風扇 ( 控制強度 )的原理,還可以嘗試更多好玩的作法:

  • 加入音效 ( 大小聲 ),讓風扇轉動更逼真。( 解答 )

關於我

大家好,我是 OXXO,是個即將邁入中年的斜槓青年,如果對我有點興趣(笑,可以與我聯繫,一起來做點有玩又有創意的東西吧!


上一篇
Day 18 ( 中級 ) 地球繞著太陽轉
下一篇
Day20 ( 中級 ) 拉不走的彈力球
系列文
Scratch 3 從入門到精通46
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言