打地鼠 ( 視訊偵測體感遊戲 )
隨著時代的進步,在許多的場合或展覽,都能看到體感互動的遊戲或裝置,這篇教學會介紹使用 Scratch 的視訊偵測功能,搭配攝影機即時拍攝畫面,實作「真人打地鼠」的體感遊戲。
快速導覽:
繪製角色造型
保留原本貓咪 cat 的角色,使用「繪畫」工具建立新的角色「board」,作為起始畫面以及結束畫面,起始畫面的造型名稱為 start,使用方形工具繪製長方形,並撰寫一些提示文字。
結束畫面的造型名稱 end,也是使用方形工具繪製長方形以及一些提示文字,並保留一個區域放置「得分」的分數變數。
完成後新增一個名為「得分」的變數,從左側勾選顯示,接著使用滑鼠在舞台裡的變數按右鍵,選擇「大型顯示」,並將大型變數放置在呈現得分的區域裡 ( 參考下圖 )。
積木程式原理 ( board )
點擊「board」角色,設定點擊綠旗時,進行定位和切換造型為 start,並隱藏得分變數。
設定點擊角色時,隱藏角色和變數,並發送「go」廣播訊號,接著設定收到訊號「gameover」時,顯示角色和變數,並切換造型為 end。
積木程式原理 ( cat )
點擊「cat」角色,點擊左下方擴充功能按鈕,加入「視訊偵測」積木,屆時會透過體感的方式觸摸貓咪角色。
設定點擊綠旗時,關閉攝影鏡頭,並隱藏角色。
設定收到 go 廣播訊號時開啟攝影機,運用重複 30 次的迴圈搭配 time 變數製作 30 秒的倒數計時,倒數結束時發送 gameover 廣播訊號,關閉攝影鏡頭並停止全部,注意,停止全部並非停止程式,而是將「重複迴圈」和「等待」停止。
新增「另外一個」收到 go 廣播訊息的程式,運用重複無限次積木,每隔 0.3~1 秒產生一個分身。
設定分身產生時,運用 pos 變數取得 1~3 的數字決定位置,將產生的分身隨機定位在左、上、右三個區域裡,分身出現後等待三秒自動刪除分身 ( 如果沒有在時間內揮擊碰到貓咪,就不會得分 )。
新增「另外一個」分身產生程式,使用重複無限次積木搭配等待視訊偵測,當視訊偵測動作大於 20 的時候 ( 角色範圍裡的視訊動作大於 20 ),表示角色被視訊裡的動作碰到,此時就將得分增加 1,並刪除分身。
完成效果
所有角色的程式都完成後,點擊綠旗,就可以開始透過攝影機視訊,進行體感打地鼠遊戲。
遊戲結束後還會呈現得分的畫面。
範例解答
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~