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

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

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

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

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


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


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