玩過XBOX Kinect體感游戲嗎?體感游戲使用3D攝像頭、麥克風(fēng)動態(tài)捕捉人的動作和聲音,控制游戲中的各種角色。其實,Scratch也具有初步的視頻體感功能(Video Sensing),能夠開啟攝像頭,感知手勢的方向和位置,因此能夠?qū)崿F(xiàn)基本的體感游戲功能。
我們嘗試使用視頻體感功能,實現(xiàn)瘋狂切西瓜的游戲。開啟攝像頭以后,用手勢比劃就能切西瓜了。效果還是不錯的。同時能夠復(fù)習(xí)隨機、判斷、運動、造型、聲音等功能。
適合人群:具有一定的Scratch基礎(chǔ)的二年級小孩在家長的指導(dǎo)下,能夠完成。視頻操作是新指令,這個理解起來會困難一些,不過照貓畫虎也就可以了。游戲主界面,西瓜從下方飛行到上方,然后掉落,如果被切到了,就打開成兩半掉落。游戲效果不是那么逼真,但足以說明這些功能了,下面是制作方法。
第一步: 角色制作。設(shè)置三個角色,小貓咪、西瓜和地球。西瓜的制作是關(guān)鍵,不過很簡單。
角色1為小貓咪,將一個小貓咪涂成精靈顏色(更換某一塊的顏色即可,圖1),小孩喜歡搞怪的,不那么嚴肅的方式。游戲開始的時候,小貓咪跑起來,還要說一句話,說游戲即將開始。這個功能和臺詞,都不是我的本意,是小孩自己添加的。
角色2為西瓜(圖2),西瓜是標準角色圖片庫中現(xiàn)成的,有完整的一個西瓜,還有一半的西瓜。復(fù)制半個西瓜,然后左右轉(zhuǎn)向,就實現(xiàn)了一個西瓜打開的樣子。為了實現(xiàn)滿滿打開,所以用了H1、H2、H3三個造型。西瓜被切中以后,更換到造型H1、H2、 H3就可以了。
第二步: 游戲開始提示。
小貓咪,有說“切西瓜游戲開始”,3秒。然后隱藏。并且不停地更換造型,實現(xiàn)動畫功能,小貓咪就跑起來了。小貓咪是在“射線”的背景下開始游戲的。這一部分完全是小孩自己加上去的。
第三步: 地球角色——關(guān)閉攝像頭(圖3)。為了能夠主動地關(guān)閉攝像頭,我們在右下角放了一個地球,讓地球轉(zhuǎn)起來。然后如果地球被點擊,就將攝像頭關(guān)閉。因為之前攝像頭被打開了,如果不關(guān)閉,就一直處于開啟狀態(tài),直到關(guān)閉這個瀏覽器窗口。
第四步: 西瓜角色——開啟攝像頭。開始的時候,就將攝像頭打開,可以設(shè)置透明度,50%就夠了。小孩發(fā)現(xiàn)一個問題,小貓咪說話的時候,攝像頭已經(jīng)開啟了。要推遲一點,因此后來在開啟攝像頭前面等待了幾秒。
還有一小段程序是控制背景的,使用了幾秒以后切換到樹林的背景。其實在西瓜角色中也是可以直接更換背景圖片的。
第五步: 開始拋出西瓜,首先要克隆西瓜(圖4)。
1) 初始化分數(shù),西瓜造型切換為完整的西瓜,即造型1。
2) 西瓜太大,設(shè)置為80即可。
3) 然后隱藏第一個西瓜。
4)克隆西瓜。
這些都可以在“家長出任務(wù)-小孩完成任務(wù)”的引導(dǎo)模式下實現(xiàn)。例如,這個西瓜太大了,變小一點。設(shè)置一個總分數(shù),開始的時候清零。 然后開始克隆,不停地克隆這個西瓜,這是常用功能了。
第六步: 開始拋出西瓜。西瓜克隆體啟動時,就飛出來。實現(xiàn)西瓜飛出來的功能有很多。首先我們要定義一個目標,就是西瓜從哪里飛到哪里。也可以飄西瓜雨,從屏幕上方掉下來。最后我們還是從底部往上飛,然后掉下來??梢愿淖僘軸大小,通過循環(huán)實現(xiàn)。這一次沒有使用循環(huán)方式,而是使用“滑行”。
滑行的指令真好啊,能夠簡化移動操作(圖5)。在1.5秒鐘,從某一點滑行到另外一點。首先從屏幕下方任意一個位置,飛到屏幕上方任意一個位置。因此,這里要使用到隨機數(shù),這已經(jīng)很熟悉了。西瓜飛上去以后,還要掉下來,也使用滑行指令。
等待20秒以后,就要刪除這個克隆體西瓜了,否則西瓜越來越多,超過300個以后,就無法繼續(xù)克隆了。
第七步:切西瓜(圖6)。這是重點,不過其實只有一個指令,就是射頻偵測。這里使用偵測動作,在角色上,大于20。這一個值相當(dāng)于手勢靠近物體的指數(shù),越大,就靠得越近,0的話,基本上就是和當(dāng)前角色無關(guān)了。
西瓜被切開,更換造型即可。記得要增加得分。注意這里使用了一個“與”的操作,只有西瓜的造型等于1,即完整西瓜的時候,才要切,已經(jīng)被切開的西瓜就別繼續(xù)切了。還可以實現(xiàn),西瓜掉下來以后,就不能切了,那要再加一個AND的操作比較。
第八步: 播放聲音(圖7)。切中西瓜以后,就播放聲音Beat Box,效果還不錯。