Scratch編程實戰 之 彈網球游戲

2019-11-26 11:15

Scratch編程實戰之彈網球游戲

前幾篇文章了老馮叔叔已經講了Scratch編程入門的方方面面,詳見玩轉Scratch文章系列,想必大家都已經迫不及待地想一試身手!好,我們現在就開始進入實戰階段。

彈網球

上一篇我們講了投籃球的例子,不知道大家親手試驗的結果如何?這篇文章里我們講一個彈網球的例子,例子中,下面有一塊觸板左右浮動,上方有12只小甲蟲是網球要彈擊的目標,網球彈中全部12只小甲蟲后通關。就像下面視頻中的樣子:

圖1.Scratch編程實戰二-游戲效果

任務目標

  1. 實現一塊左右浮動的觸板,觸板的位置跟隨鼠標點擊的位置;

  2. 一只網球,游戲開始時出現在合適的隨機位置,網球觸碰到四壁或觸板均會反彈;

  3. 游戲中有12只甲蟲,當網球彈到任何一只甲蟲后,甲蟲被消滅掉,玩家能夠得到1分;

  4. 當12只甲蟲都被消滅后,得到12分玩家獲勝;

失敗條件

當玩家左右移動觸板,沒有在合適位置接住網球,網球滑落,游戲失敗

其他目標

  1. 游戲開始時,有開始游戲的提示

  2. 12只甲蟲被消滅后,有獲勝的提示

  3. 游戲失敗有失敗的提示

  4. 當一只甲蟲被消滅時,能夠有音效配合

任務分解

啟動提示

  1. 設置游戲啟動的提示,提示開始游戲,并且告訴玩家怎么玩--左右移動鼠標即可

  2. 利用繪制工具,選擇轉換為矢量圖,選擇T按鈕,第一行寫“開始游戲”,第二行寫”左右移動鼠標控制觸板“,字體顏色可以自定

  3. 編寫代碼,當綠色旗標啟動按鈕被點擊時,展示提示頁面1秒鐘后,提示頁面消失

https://cdn.china-scratch.com/timg/191128/11153MZ8-0.jpg圖2.Scratch編程實戰二-啟動角色

觸板

  1. 利用繪制工具,選擇轉換為矢量圖,選擇矩形按鈕,畫一個長方矩形,顏色自定

  2. 綠色旗標啟動按鈕被點擊時,先隱藏1秒鐘,目的是將屏幕留給啟動提示界面,1秒鐘后顯示

  3. 運動功能板中,選擇移動到鼠標位置功能,同時為了保證觸板水平浮動,將其y坐標設置為一個固定值

https://cdn.china-scratch.com/timg/191128/11153SB7-1.jpg圖3.Scratch編程實戰二-觸板角色

網球

  1. 在角色中,選擇網球角色,同樣,當綠色旗標啟動按鈕被點擊后,隱藏1秒鐘,1秒后顯示,并移動到一個合適的隨機位置,并選擇一個下落角度

  2. 重復執行如下運動,每次移動10步,同時碰到屏幕四壁就反彈

  3. 設定失敗條件,當網球落入屏幕以外區域時,廣播”gameover"的消息

https://cdn.china-scratch.com/timg/191128/11153Q212-2.jpg圖4.Scratch編程實戰二-網球角色

觸板觸碰網球事件

  1. 回到觸板角色,添加觸板觸碰網球的偵測事件,偵測到到事件后,廣播 反彈的消息

  2. 回到網球角色,添加 當收到反彈消息后,設置反彈角度和移動步數

    https://cdn.china-scratch.com/timg/191128/11153R3c-3.jpg圖5.Scratch編程實戰二-觸板觸碰https://cdn.china-scratch.com/timg/191128/11153RX3-4.jpg圖6.Scratch編程實戰二-網球觸碰

甲蟲

  1. 新建角色,在角色中,選擇Ladybug1,作為甲蟲的原型

  2. 調整甲蟲的大小和方向,大小自定,合適即可,方向選擇180度

  3. 同樣,當綠色旗標按鈕被點擊后,甲蟲隱藏1秒鐘,1秒后顯示,為了每次啟動后效果相同,這里需要重新設置甲蟲的大小和方向

  4. 重復執行,當甲蟲碰到網球后,播放Cymbal的聲音,該聲音持續1.1秒;

    同時,設置甲蟲被撞擊后的視覺效果,包括顏色特效,撞擊后變小,撞擊后傾斜等特效,這部分你會覺得還是很炫酷的

  5. 設置Score變量,作為幾分工具,每撞擊一個甲蟲,積分+1

https://cdn.china-scratch.com/timg/191128/11153U3A-5.jpg圖7.Scratch編程實戰二-甲蟲角色

復制甲蟲

好了,我們現在已經有一只甲蟲了,游戲中我們需要12只甲蟲排成兩排,每排6個

  1. 直接在甲蟲角色上,右鍵單擊,選擇復制,就會復制出一只甲蟲,如此操作11次,12只甲蟲就出現了

  2. 調整甲蟲的位置,使之排列整齊,老馮在這里,將兩排甲蟲的y坐標分別設為107和44,兩只甲蟲的x坐標間隔設置為70

獲勝界面

  1. 利用繪制工具,選擇轉換為矢量圖,選擇T按鈕,輸入“You Win"

  2. 綠色旗標按鈕被點擊后,先隱藏,將Score變量清零,然后等待Score到達12分的事件

  3. Score到達12分后,該角色進行顯示,廣播”win“消息,同時播放Win的聲音(Win聲音文件在聲音庫中存在),最后停止全部腳本

https://cdn.china-scratch.com/timg/191128/1115391H7-6.jpg圖8.Scratch編程實戰二-獲勝角色
https://cdn.china-scratch.com/timg/191128/11153a3R-7.jpg圖9.Scratch編程實戰二-獲勝角色代碼

失敗界面

  1. 利用繪制工具,選擇轉換為矢量圖,選擇T按鈕,輸入“Game Over"

  2. 綠色旗標按鈕被點擊后,隱藏

  3. 當接收到”gameover"消息時(還記得嗎,“gameover”消息是網球落到屏幕外面發出來的),顯示該界面,同時播放Lose聲音文件,然后停止全部腳本

https://cdn.china-scratch.com/timg/191128/1115393257-8.jpg圖10.Scratch編程實戰二-失敗角色
https://cdn.china-scratch.com/timg/191128/1115396135-9.jpg圖11.Scratch編程實戰二-失敗角色代碼

其他說明

為了達到更好的效果,當觸板網球收到wingameover的消息后,均進行了隱藏處理

還等什么,趕快親自動手試試吧,自己動手的游戲就是樂趣十足!

--end--

后記,小編朋友公司研發了一個游戲化的少兒編程在線課程(5-12歲),游戲化教學結合scratch(一款在線少兒編程工具,類似樂高的積木拼搭),我家娃娃學了幾次課,非常喜歡(超預期),16次課才200多塊錢,對鍛煉孩子的思維能力和動手動力很有幫助。

感興趣的朋友可以掃描二維碼,關注一下,或微信搜索“大耳猴少兒編程”

http://www.oeerar.tw/Uploads/Editor/2018-04-22/5adca08bdc212.jpg

聲明:本文章由爬蟲自動處理和轉載作為教育分享用途,原作者可通過郵件及時和我們聯系處理:freemanzk@qq.com