大聲公比賽 ( 比賽誰的氣最長 )
這篇教學會實作一個透過「麥克風」才能玩的小遊戲,遊戲開始後要對著麥克風持續發聲,比賽看看誰發聲持續的時間最久 ( 誰的氣最長 )。
快速導覽:
大聲公比賽怎麼玩?
「大聲公比賽」是常見的園遊會或團康遊戲,主要在比賽一個人的「氣」有多長,玩法是「對著麥克風不斷發聲,直到聲音結束為止,然後計算整個發聲過程的時間」,最後時間最長的人就贏得大聲公比賽。
繪製角色造型
第一個角色不用繪製,單純使用原本貓咪 cat 的角色,但需要繪製第二個「circle」角色,目的在於顯示現在音量的大小,使用「繪畫」方式新增角色,利用「圓形」工具繪製一個圓形,並對齊畫布中心點。
完成後將 cat 和 circle 角色,如下圖一般,擺放在舞台中心。
積木程式原理 ( cat )
點擊貓咪「cat」角色,點擊綠旗時除了定位,也讓貓咪提示使用者要點擊貓咪才會開始,點擊貓咪後,運用「等待」和「重複直到」的積木,就能做到「當音量超過 20 時就開始遊戲」的效果,同時,在重複開始時發送 go 的廣播訊息,在重複結束後發送 stop 的廣播訊息,就能透過廣播控制另外一個角色。
完成後可以進行測試,這時會發現秒數小數點後方多了許多位數,這是因為 Scratch 的底層計算時,因為程式語言產生的誤差 ( 許多程式語言的小數點位數,都是使用非常多位數,但因為四捨五入才看不到 )。
為了避免這種狀況,可以先將數值「乘以十」,然後「四捨五入」,接著再「除以十」,就可以得到漂亮的一位數小數點數值。
下圖是使用麥克風的測試結果,可以看到秒數後方已經不會有奇怪的位數了。
積木程式原理 ( circle )
點擊圓形「circle」角色,這個角色負責顯示現在音量的狀態,當音量越大,圓形就會越大,同時透明度也會越高,點擊綠旗時,設定圓形的尺寸和位置,以及設定幻影為 100 ( 全透明 ),收到 stop 廣播訊號時恢復全透明,並停止角色中其他的重複迴圈,收到 go 廣播訊號時,使用重複迴圈偵測聲音響度,並根據聲音響度改變尺寸與透明度。
完成效果
所有角色的程式都完成後,點擊綠旗,點擊貓咪後開始發聲,就能開始比賽看看誰的氣最長。
範例解答
範例解答:大聲公比賽 ( 比賽誰的氣最長 )
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~