資訊內(nèi)容
Scratch編程實(shí)戰(zhàn) 之 彈網(wǎng)球游戲
Scratch編程實(shí)戰(zhàn)之彈網(wǎng)球游戲
前幾篇文章了老馮叔叔已經(jīng)講了Scratch編程入門(mén)的方方面面,詳見(jiàn)玩轉(zhuǎn)Scratch文章系列,想必大家都已經(jīng)迫不及待地想一試身手!好,我們現(xiàn)在就開(kāi)始進(jìn)入實(shí)戰(zhàn)階段。
彈網(wǎng)球
上一篇我們講了投籃球的例子,不知道大家親手試驗(yàn)的結(jié)果如何?這篇文章里我們講一個(gè)彈網(wǎng)球的例子,例子中,下面有一塊觸板左右浮動(dòng),上方有12只小甲蟲(chóng)是網(wǎng)球要彈擊的目標(biāo),網(wǎng)球彈中全部12只小甲蟲(chóng)后通關(guān)。就像下面視頻中的樣子:
圖1.Scratch編程實(shí)戰(zhàn)二-游戲效果任務(wù)目標(biāo)
-
實(shí)現(xiàn)一塊左右浮動(dòng)的觸板,觸板的位置跟隨鼠標(biāo)點(diǎn)擊的位置;
-
一只網(wǎng)球,游戲開(kāi)始時(shí)出現(xiàn)在合適的隨機(jī)位置,網(wǎng)球觸碰到四壁或觸板均會(huì)反彈;
-
游戲中有12只甲蟲(chóng),當(dāng)網(wǎng)球彈到任何一只甲蟲(chóng)后,甲蟲(chóng)被消滅掉,玩家能夠得到1分;
-
當(dāng)12只甲蟲(chóng)都被消滅后,得到12分玩家獲勝;
失敗條件
當(dāng)玩家左右移動(dòng)觸板,沒(méi)有在合適位置接住網(wǎng)球,網(wǎng)球滑落,游戲失敗
其他目標(biāo)
-
游戲開(kāi)始時(shí),有開(kāi)始游戲的提示
-
12只甲蟲(chóng)被消滅后,有獲勝的提示
-
游戲失敗有失敗的提示
-
當(dāng)一只甲蟲(chóng)被消滅時(shí),能夠有音效配合
任務(wù)分解
啟動(dòng)提示
-
設(shè)置游戲啟動(dòng)的提示,提示開(kāi)始游戲,并且告訴玩家怎么玩--左右移動(dòng)鼠標(biāo)即可
-
利用繪制工具,選擇轉(zhuǎn)換為矢量圖,選擇T按鈕,第一行寫(xiě)“開(kāi)始游戲”,第二行寫(xiě)”左右移動(dòng)鼠標(biāo)控制觸板“,字體顏色可以自定
-
編寫(xiě)代碼,當(dāng)綠色旗標(biāo)啟動(dòng)按鈕被點(diǎn)擊時(shí),展示提示頁(yè)面1秒鐘后,提示頁(yè)面消失
圖2.Scratch編程實(shí)戰(zhàn)二-啟動(dòng)角色
觸板
-
利用繪制工具,選擇轉(zhuǎn)換為矢量圖,選擇矩形按鈕,畫(huà)一個(gè)長(zhǎng)方矩形,顏色自定
-
當(dāng)綠色旗標(biāo)啟動(dòng)按鈕被點(diǎn)擊時(shí),先隱藏1秒鐘,目的是將屏幕留給啟動(dòng)提示界面,1秒鐘后顯示
-
在運(yùn)動(dòng)功能板中,選擇移動(dòng)到鼠標(biāo)位置功能,同時(shí)為了保證觸板水平浮動(dòng),將其y坐標(biāo)設(shè)置為一個(gè)固定值
圖3.Scratch編程實(shí)戰(zhàn)二-觸板角色
網(wǎng)球
-
在角色中,選擇網(wǎng)球角色,同樣,當(dāng)綠色旗標(biāo)啟動(dòng)按鈕被點(diǎn)擊后,隱藏1秒鐘,1秒后顯示,并移動(dòng)到一個(gè)合適的隨機(jī)位置,并選擇一個(gè)下落角度
-
重復(fù)執(zhí)行如下運(yùn)動(dòng),每次移動(dòng)10步,同時(shí)碰到屏幕四壁就反彈
-
設(shè)定失敗條件,當(dāng)網(wǎng)球落入屏幕以外區(qū)域時(shí),廣播”gameover"的消息
圖4.Scratch編程實(shí)戰(zhàn)二-網(wǎng)球角色
觸板觸碰網(wǎng)球事件
-
回到觸板角色,添加觸板觸碰網(wǎng)球的偵測(cè)事件,偵測(cè)到到事件后,廣播 反彈的消息
-
回到網(wǎng)球角色,添加 當(dāng)收到反彈消息后,設(shè)置反彈角度和移動(dòng)步數(shù)
圖5.Scratch編程實(shí)戰(zhàn)二-觸板觸碰
圖6.Scratch編程實(shí)戰(zhàn)二-網(wǎng)球觸碰
甲蟲(chóng)
-
新建角色,在角色中,選擇Ladybug1,作為甲蟲(chóng)的原型
-
調(diào)整甲蟲(chóng)的大小和方向,大小自定,合適即可,方向選擇180度
-
同樣,當(dāng)綠色旗標(biāo)按鈕被點(diǎn)擊后,甲蟲(chóng)隱藏1秒鐘,1秒后顯示,為了每次啟動(dòng)后效果相同,這里需要重新設(shè)置甲蟲(chóng)的大小和方向
-
重復(fù)執(zhí)行,當(dāng)甲蟲(chóng)碰到網(wǎng)球后,播放Cymbal的聲音,該聲音持續(xù)1.1秒;
同時(shí),設(shè)置甲蟲(chóng)被撞擊后的視覺(jué)效果,包括顏色特效,撞擊后變小,撞擊后傾斜等特效,這部分你會(huì)覺(jué)得還是很炫酷的
-
設(shè)置Score變量,作為幾分工具,每撞擊一個(gè)甲蟲(chóng),積分+1
圖7.Scratch編程實(shí)戰(zhàn)二-甲蟲(chóng)角色
復(fù)制甲蟲(chóng)
好了,我們現(xiàn)在已經(jīng)有一只甲蟲(chóng)了,游戲中我們需要12只甲蟲(chóng)排成兩排,每排6個(gè)
-
直接在甲蟲(chóng)角色上,右鍵單擊,選擇復(fù)制,就會(huì)復(fù)制出一只甲蟲(chóng),如此操作11次,12只甲蟲(chóng)就出現(xiàn)了
-
調(diào)整甲蟲(chóng)的位置,使之排列整齊,老馮在這里,將兩排甲蟲(chóng)的y坐標(biāo)分別設(shè)為107和44,兩只甲蟲(chóng)的x坐標(biāo)間隔設(shè)置為70
獲勝界面
-
利用繪制工具,選擇轉(zhuǎn)換為矢量圖,選擇T按鈕,輸入“You Win"
-
當(dāng)綠色旗標(biāo)按鈕被點(diǎn)擊后,先隱藏,將Score變量清零,然后等待Score到達(dá)12分的事件
-
Score到達(dá)12分后,該角色進(jìn)行顯示,廣播”win“消息,同時(shí)播放Win的聲音(Win聲音文件在聲音庫(kù)中存在),最后停止全部腳本
圖8.Scratch編程實(shí)戰(zhàn)二-獲勝角色
圖9.Scratch編程實(shí)戰(zhàn)二-獲勝角色代碼
失敗界面
-
利用繪制工具,選擇轉(zhuǎn)換為矢量圖,選擇T按鈕,輸入“Game Over"
-
當(dāng)綠色旗標(biāo)按鈕被點(diǎn)擊后,隱藏
-
當(dāng)接收到”gameover"消息時(shí)(還記得嗎,“gameover”消息是網(wǎng)球落到屏幕外面發(fā)出來(lái)的),顯示該界面,同時(shí)播放Lose聲音文件,然后停止全部腳本
圖10.Scratch編程實(shí)戰(zhàn)二-失敗角色
圖11.Scratch編程實(shí)戰(zhàn)二-失敗角色代碼
其他說(shuō)明
為了達(dá)到更好的效果,當(dāng)觸板和網(wǎng)球收到win或gameover的消息后,均進(jìn)行了隱藏處理
還等什么,趕快親自動(dòng)手試試吧,自己動(dòng)手的游戲就是樂(lè)趣十足!
聲明:本文章由網(wǎng)友投稿作為教育分享用途,如有侵權(quán)原作者可通過(guò)郵件及時(shí)和我們聯(lián)系刪除
- 上一篇
如何用scratch畫(huà)出數(shù)學(xué)中的幾何圖形
? ?? 數(shù)學(xué)中常用到三角形、正方形、長(zhǎng)方形、圓等各種各樣的圖形,在現(xiàn)代化教學(xué)中可以用scratch編寫(xiě)代碼來(lái)實(shí)現(xiàn)這個(gè)目的。
- 下一篇
智能編程——Scratch/Python
智能編程 隨著科技文化水平的不斷提高,編程早已不是專(zhuān)業(yè)程序員的“專(zhuān)利”,如今越來(lái)越多的人開(kāi)始了解并學(xué)習(xí)編程。同時(shí),編程也已進(jìn)入了小學(xué)和中學(xué)的大門(mén),和中小學(xué)生有了接觸。 ? ? ? ? ? 本賽項(xiàng)旨在推動(dòng)和促進(jìn)計(jì)算機(jī)編程在校園內(nèi)的推廣和普及
