資訊內(nèi)容
Scratch編程實戰(zhàn) 之 彈網(wǎng)球游戲
Scratch編程實戰(zhàn)之彈網(wǎng)球游戲
前幾篇文章了老馮叔叔已經(jīng)講了Scratch編程入門的方方面面,詳見玩轉(zhuǎn)Scratch文章系列,想必大家都已經(jīng)迫不及待地想一試身手!好,我們現(xiàn)在就開始進(jìn)入實戰(zhàn)階段。
彈網(wǎng)球
上一篇我們講了投籃球的例子,不知道大家親手試驗的結(jié)果如何?這篇文章里我們講一個彈網(wǎng)球的例子,例子中,下面有一塊觸板左右浮動,上方有12只小甲蟲是網(wǎng)球要彈擊的目標(biāo),網(wǎng)球彈中全部12只小甲蟲后通關(guān)。就像下面視頻中的樣子:
圖1.Scratch編程實戰(zhàn)二-游戲效果任務(wù)目標(biāo)
-
實現(xiàn)一塊左右浮動的觸板,觸板的位置跟隨鼠標(biāo)點擊的位置;
-
一只網(wǎng)球,游戲開始時出現(xiàn)在合適的隨機(jī)位置,網(wǎng)球觸碰到四壁或觸板均會反彈;
-
游戲中有12只甲蟲,當(dāng)網(wǎng)球彈到任何一只甲蟲后,甲蟲被消滅掉,玩家能夠得到1分;
-
當(dāng)12只甲蟲都被消滅后,得到12分玩家獲勝;
失敗條件
當(dāng)玩家左右移動觸板,沒有在合適位置接住網(wǎng)球,網(wǎng)球滑落,游戲失敗
其他目標(biāo)
-
游戲開始時,有開始游戲的提示
-
12只甲蟲被消滅后,有獲勝的提示
-
游戲失敗有失敗的提示
-
當(dāng)一只甲蟲被消滅時,能夠有音效配合
任務(wù)分解
啟動提示
-
設(shè)置游戲啟動的提示,提示開始游戲,并且告訴玩家怎么玩--左右移動鼠標(biāo)即可
-
利用繪制工具,選擇轉(zhuǎn)換為矢量圖,選擇T按鈕,第一行寫“開始游戲”,第二行寫”左右移動鼠標(biāo)控制觸板“,字體顏色可以自定
-
編寫代碼,當(dāng)綠色旗標(biāo)啟動按鈕被點擊時,展示提示頁面1秒鐘后,提示頁面消失

觸板
-
利用繪制工具,選擇轉(zhuǎn)換為矢量圖,選擇矩形按鈕,畫一個長方矩形,顏色自定
-
當(dāng)綠色旗標(biāo)啟動按鈕被點擊時,先隱藏1秒鐘,目的是將屏幕留給啟動提示界面,1秒鐘后顯示
-
在運動功能板中,選擇移動到鼠標(biāo)位置功能,同時為了保證觸板水平浮動,將其y坐標(biāo)設(shè)置為一個固定值

網(wǎng)球
-
在角色中,選擇網(wǎng)球角色,同樣,當(dāng)綠色旗標(biāo)啟動按鈕被點擊后,隱藏1秒鐘,1秒后顯示,并移動到一個合適的隨機(jī)位置,并選擇一個下落角度
-
重復(fù)執(zhí)行如下運動,每次移動10步,同時碰到屏幕四壁就反彈
-
設(shè)定失敗條件,當(dāng)網(wǎng)球落入屏幕以外區(qū)域時,廣播”gameover"的消息

觸板觸碰網(wǎng)球事件
-
回到觸板角色,添加觸板觸碰網(wǎng)球的偵測事件,偵測到到事件后,廣播 反彈的消息
-
回到網(wǎng)球角色,添加 當(dāng)收到反彈消息后,設(shè)置反彈角度和移動步數(shù)
圖5.Scratch編程實戰(zhàn)二-觸板觸碰
圖6.Scratch編程實戰(zhàn)二-網(wǎng)球觸碰
甲蟲
-
新建角色,在角色中,選擇Ladybug1,作為甲蟲的原型
-
調(diào)整甲蟲的大小和方向,大小自定,合適即可,方向選擇180度
-
同樣,當(dāng)綠色旗標(biāo)按鈕被點擊后,甲蟲隱藏1秒鐘,1秒后顯示,為了每次啟動后效果相同,這里需要重新設(shè)置甲蟲的大小和方向
-
重復(fù)執(zhí)行,當(dāng)甲蟲碰到網(wǎng)球后,播放Cymbal的聲音,該聲音持續(xù)1.1秒;
同時,設(shè)置甲蟲被撞擊后的視覺效果,包括顏色特效,撞擊后變小,撞擊后傾斜等特效,這部分你會覺得還是很炫酷的
-
設(shè)置Score變量,作為幾分工具,每撞擊一個甲蟲,積分+1

復(fù)制甲蟲
好了,我們現(xiàn)在已經(jīng)有一只甲蟲了,游戲中我們需要12只甲蟲排成兩排,每排6個
-
直接在甲蟲角色上,右鍵單擊,選擇復(fù)制,就會復(fù)制出一只甲蟲,如此操作11次,12只甲蟲就出現(xiàn)了
-
調(diào)整甲蟲的位置,使之排列整齊,老馮在這里,將兩排甲蟲的y坐標(biāo)分別設(shè)為107和44,兩只甲蟲的x坐標(biāo)間隔設(shè)置為70
獲勝界面
-
利用繪制工具,選擇轉(zhuǎn)換為矢量圖,選擇T按鈕,輸入“You Win"
-
當(dāng)綠色旗標(biāo)按鈕被點擊后,先隱藏,將Score變量清零,然后等待Score到達(dá)12分的事件
-
Score到達(dá)12分后,該角色進(jìn)行顯示,廣播”win“消息,同時播放Win的聲音(Win聲音文件在聲音庫中存在),最后停止全部腳本


失敗界面
-
利用繪制工具,選擇轉(zhuǎn)換為矢量圖,選擇T按鈕,輸入“Game Over"
-
當(dāng)綠色旗標(biāo)按鈕被點擊后,隱藏
-
當(dāng)接收到”gameover"消息時(還記得嗎,“gameover”消息是網(wǎng)球落到屏幕外面發(fā)出來的),顯示該界面,同時播放Lose聲音文件,然后停止全部腳本


其他說明
為了達(dá)到更好的效果,當(dāng)觸板和網(wǎng)球收到win或gameover的消息后,均進(jìn)行了隱藏處理
還等什么,趕快親自動手試試吧,自己動手的游戲就是樂趣十足!
聲明:本文章由網(wǎng)友投稿作為教育分享用途,如有侵權(quán)原作者可通過郵件及時和我們聯(lián)系刪除

- 上一篇
如何用scratch畫出數(shù)學(xué)中的幾何圖形
? ?? 數(shù)學(xué)中常用到三角形、正方形、長方形、圓等各種各樣的圖形,在現(xiàn)代化教學(xué)中可以用scratch編寫代碼來實現(xiàn)這個目的。
- 下一篇
智能編程——Scratch/Python
智能編程 隨著科技文化水平的不斷提高,編程早已不是專業(yè)程序員的“專利”,如今越來越多的人開始了解并學(xué)習(xí)編程。同時,編程也已進(jìn)入了小學(xué)和中學(xué)的大門,和中小學(xué)生有了接觸。 ? ? ? ? ? 本賽項旨在推動和促進(jìn)計算機(jī)編程在校園內(nèi)的推廣和普及