陳新龍
之前我們用Scratch做過用鍵盤操控角色接住掉下來的蘋果游戲,今天和大家分享一款不一樣的Scratch游戲,用自己的手去抓天上掉下來的香蕉,你應該很好奇,怎么樣做出這樣的效果呢?

我們已經(jīng)學習了很多Scratch的擴展的模塊,今天要學習一款新模塊“視頻偵測”,你可以點擊界面左下角“擴展”添加這個模塊(如圖1)。

“視頻偵測”是一個非常神奇的模塊,它有四個小積木(如圖2)。

1. 當視頻運動>“10”:當偵測到攝像頭中有物體運動速度大于10時會執(zhí)行后續(xù)程序,數(shù)字越大反應越遲鈍。
2. 相對于“角色/舞臺”的視頻“運動/方向”:常用在判斷攝像頭中物體的運動方向變化與舞臺角色間的關系。
3. “開啟/關閉/鏡像開啟”攝像頭:鏡像開啟表示拍攝出的視頻效果會左右反向。
4. 將視頻透明度設為“50”:透明度數(shù)字越高越模糊,透明度越低越清晰。
我們可以用視頻偵測模塊獲取攝像頭數(shù)據(jù),控制角色進行相關操作,并且還可以完成一些體感小游戲。
今天我們只需用“開啟”攝像頭和將視頻透明度設為“50”兩個模塊完成這個小游戲。
游戲規(guī)則:游戲開始,開啟攝像頭,天空中會隨機掉下來香蕉,玩家可以伸出手去抓住香蕉,當香蕉被玩家抓住之后,分數(shù)加一,隨后香蕉消失,如果玩家沒有抓到香蕉,分數(shù)減一。如果玩家沒有抓到香蕉,且分數(shù)等于0的時候,游戲結束。
首先添加香蕉角色,新建變量“分數(shù)”(用于統(tǒng)計得分),其次不要忘記添加“視頻偵測”模塊(如圖3)。

主程序部分:首先給香蕉設定一個隨機的坐標(香蕉默認隱藏),并且設置等待的秒數(shù),當游戲開始后,香蕉顯示,每次掉落速度為5;在香蕉下降的過程中,碰到了“手”相當于我們抓住了香蕉,每抓住一只香蕉,分數(shù)增加一分,隨后消失回到頂層隨機坐標位置,如果沒有抓住香蕉,香蕉落到了舞臺邊緣,分數(shù)就會扣一分,當我們的分數(shù)變?yōu)?分的時候,停止所有腳本。
我們?nèi)绾瓮瓿膳龅绞值呐袛嗄兀窟@需要用到“偵測模塊”中的“碰到顏色”積木。

使用開啟攝像頭模塊開啟攝像頭,這樣可以用吸管提取出手上的顏色,當香蕉角色碰到手的顏色,表示抓到了香蕉,分數(shù)加一,當沒有識別出顏色,香蕉就繼續(xù)向下掉落,一直到舞臺邊緣。注意衣服和背景的顏色不要和手撞色了。
通過抓香蕉的游戲我們初步學習了“視頻偵測”這個新知識,當然我們也可以給游戲添加一些障礙功能,比如增加一些炸彈,或者是其他水果,做成類似的水果忍者的游戲。