倒數計時器 ( 基本版 )
雖然只要透過重複迴圈就能做到「倒數計時」的效果,但若要具有更為彈性的設定功能 ( 讓使用者手動調整到數分鐘與秒數 ),就比較不容易實現,這篇教學會介紹使用變數的調整滑桿,搭配角色造型名稱和廣播機制,實現可以調整的基本倒數計時效果。
快速導覽:
繪製角色造型
使用 Scratch 內建的貓咪作為角色,切換到「造型」頁籤,刪除第二個造型,保留第一個造型,並將造型名稱改成 start。
複製第一個造型,將複製的造型改名為 stop。
變數設定
回到程式頁面,從左側積木清單中新增四個變數,變數名稱分別是:分鐘、秒、顯示分鐘和顯示秒,將分鐘與秒這兩個變數勾選「顯示」,另外兩個變數取消勾選。
使用滑鼠在舞台的變數上按下「右鍵」,將類型選擇為「滑桿」。
設定為滑桿後,繼續按右鍵選擇「變更滑桿數值範圍」,將「秒」變數的數值範圍設定為 0~59,「分鐘」變數的數值範圍設定為 0~99。
完成後將貓咪、分鐘變數、秒變數按照下圖排列在舞台上 ( 可以搭配簡單的舞台背景,例如 click 的指示線 )。
積木程式原理
點擊貓咪角色,設定點擊綠旗時定位在中心點,並將分鐘與秒變數設為 0,造型設定為 stop,點擊角色時切換造型 ( 如果是 start 就變成 stop,如果是 stop 就變成 start ),停止其他所有重複迴圈後,將目前的造型名稱,作為廣播訊號發送出去。
新增收到廣播 start 要執行的動作,收到廣播後,執行重複迴圈,迴圈中每個一秒會將「秒」變數減少 1,並在秒和分鐘都為 0 時停止迴圈,減少的過程中使用邏輯判斷計算是否要減少分鐘數,以及秒數歸零時切換為 59 秒重新倒數。
從左側新增一個名為「時間補零」的函式 ( 有沒有勾選執行完畢再更新畫面都可以 ),這個函式會負責將個位數字前方補 0。
函式內容先將「顯示秒」的數值設定為「秒」,如果小於 10 就將前方補 0,並用同樣的方式處理「顯示分」變數數值,完成後讓角色說出目前的時間。
參考下圖,在收到 start 廣播訊號得程式裡執行函式,並在重複迴圈結束後說出「時間到」以及切換造型為 stop。
最後設定收到 stop 廣播訊號時,講出目前的時間,後方用字串組合的方式補上「( 暫停 )」兩個字,提示目前的倒數是暫停狀態。
完成效果
所有角色的程式都完成後,點擊綠旗,使用滑鼠拖拉滑桿設定倒數時間,點擊貓咪後就會開始倒數計時,過程中點擊貓咪也可以暫停倒數,或者調整滑桿也可以一面倒數一面修改倒數時間。
範例解答
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~