陳新龍
之前我們用Scratch做過用鍵盤操控角色接住掉下來的蘋果游戲,今天和大家分享一款不一樣的Scratch游戲,用自己的手去抓天上掉下來的香蕉,你應(yīng)該很好奇,怎么樣做出這樣的效果呢?
我們已經(jīng)學(xué)習(xí)了很多Scratch的擴(kuò)展的模塊,今天要學(xué)習(xí)一款新模塊“視頻偵測(cè)”,你可以點(diǎn)擊界面左下角“擴(kuò)展”添加這個(gè)模塊(如圖1)。
“視頻偵測(cè)”是一個(gè)非常神奇的模塊,它有四個(gè)小積木(如圖2)。
1. 當(dāng)視頻運(yùn)動(dòng)>“10”:當(dāng)偵測(cè)到攝像頭中有物體運(yùn)動(dòng)速度大于10時(shí)會(huì)執(zhí)行后續(xù)程序,數(shù)字越大反應(yīng)越遲鈍。
2. 相對(duì)于“角色/舞臺(tái)”的視頻“運(yùn)動(dòng)/方向”:常用在判斷攝像頭中物體的運(yùn)動(dòng)方向變化與舞臺(tái)角色間的關(guān)系。
3. “開啟/關(guān)閉/鏡像開啟”攝像頭:鏡像開啟表示拍攝出的視頻效果會(huì)左右反向。
4. 將視頻透明度設(shè)為“50”:透明度數(shù)字越高越模糊,透明度越低越清晰。
我們可以用視頻偵測(cè)模塊獲取攝像頭數(shù)據(jù),控制角色進(jìn)行相關(guān)操作,并且還可以完成一些體感小游戲。
今天我們只需用“開啟”攝像頭和將視頻透明度設(shè)為“50”兩個(gè)模塊完成這個(gè)小游戲。
游戲規(guī)則:游戲開始,開啟攝像頭,天空中會(huì)隨機(jī)掉下來香蕉,玩家可以伸出手去抓住香蕉,當(dāng)香蕉被玩家抓住之后,分?jǐn)?shù)加一,隨后香蕉消失,如果玩家沒有抓到香蕉,分?jǐn)?shù)減一。如果玩家沒有抓到香蕉,且分?jǐn)?shù)等于0的時(shí)候,游戲結(jié)束。
首先添加香蕉角色,新建變量“分?jǐn)?shù)”(用于統(tǒng)計(jì)得分),其次不要忘記添加“視頻偵測(cè)”模塊(如圖3)。
主程序部分:首先給香蕉設(shè)定一個(gè)隨機(jī)的坐標(biāo)(香蕉默認(rèn)隱藏),并且設(shè)置等待的秒數(shù),當(dāng)游戲開始后,香蕉顯示,每次掉落速度為5;在香蕉下降的過程中,碰到了“手”相當(dāng)于我們抓住了香蕉,每抓住一只香蕉,分?jǐn)?shù)增加一分,隨后消失回到頂層隨機(jī)坐標(biāo)位置,如果沒有抓住香蕉,香蕉落到了舞臺(tái)邊緣,分?jǐn)?shù)就會(huì)扣一分,當(dāng)我們的分?jǐn)?shù)變?yōu)?分的時(shí)候,停止所有腳本。
我們?nèi)绾瓮瓿膳龅绞值呐袛嗄兀窟@需要用到“偵測(cè)模塊”中的“碰到顏色”積木。
使用開啟攝像頭模塊開啟攝像頭,這樣可以用吸管提取出手上的顏色,當(dāng)香蕉角色碰到手的顏色,表示抓到了香蕉,分?jǐn)?shù)加一,當(dāng)沒有識(shí)別出顏色,香蕉就繼續(xù)向下掉落,一直到舞臺(tái)邊緣。注意衣服和背景的顏色不要和手撞色了。
通過抓香蕉的游戲我們初步學(xué)習(xí)了“視頻偵測(cè)”這個(gè)新知識(shí),當(dāng)然我們也可以給游戲添加一些障礙功能,比如增加一些炸彈,或者是其他水果,做成類似的水果忍者的游戲。