小朋友這周的表現還算不錯。周末多數時間都由我陪(bi)着(zhe)做課本上的數學題,后來還學了英語。任重道遠啊,語數外都還得加強,還遠不到自己就能取得好成績的階段。
上周說好這周要做一個發射炮彈的游戲。最后在周日晚上八點學習完英語以后才開始。
目的
目的:設置一艘宇宙飛船或其他角色,實現上下左右移動。每按一次空格鍵即發射一枚炮彈,同時播放聲音,炮彈往屏幕上方飛,直到飛出屏幕。發射子彈、炸彈是很常見的游戲功能。
實現方式
宇宙飛船角色的上下左右移動是比較簡單的。我們在接球運動中已經學過了。只需要不停循環,檢測是否有按鍵按下。如果左箭頭按下,X軸就減少10;如果右箭頭按下,X軸就增加10;如果上箭頭按下,Y軸就增加10;如果下箭頭按下,Y軸就減少10。對於這個步驟,小孩表示理解。
這是我們第一次使用發射炮彈的功能。首先要找到一個炮彈的圖,可以選擇球類或者其他物品, 最后我們選擇了一個閃電,但要將閃電轉一下,讓尖尖的頭朝上。
Scratch提供了克隆角色的功能,這是一個強大的功能,就是克隆出另外一個副本出來。克隆體啟動時,可以執行單獨的腳本,即相當於一個子函數,控制這個炮彈克隆體。每按一次按鈕,炮彈就克隆復制自己。然后炮彈往屏幕上放飛行就比較簡單了,就是向上移動一定的位置,或者Y軸增加一定的距離。不停循環即可往上飛行。
逐步改進
制作程序的過程,是一個不斷測試改進的過程。我們在制作過程中,發現了一些問題,並且逐步解決了。
1. 宇宙飛船的范圍確定。 如果不設置范圍,那么左右上下會移出屏幕。因此我們后來增加了一個判斷,即只有在X軸大於-220時,才繼續往左移動,否則就不往左移動了。Y軸類似。這樣通過四個箭頭的移動,保證宇宙飛船一直都不會超出屏幕,同時上方保留一定的空間。
2. 克隆體一直往上飛行,到頂部以后,炸彈會停留在那邊,留下一個尾巴。我們增加了判斷。如果碰到邊緣,就“刪除克隆體”,這樣克隆體碰到邊緣后就消失了。
3. 播放聲音:每次發射炸彈后,系統會播放聲音。播放聲音不能直接在循環中做,因為那樣會做完以后才能繼續發射下一個炮彈,影響效果。因此廣播一個消息,然后在消息中播放音樂。最后我們選擇了一個敲打低音鼓的聲音,這樣發射炸彈以后,就發出類似爆炸的聲音了。
· 少兒編程Scratch第二講:奇妙的接球小游戲(2018.01)
· Scratch第一講:Scratch完美的初體驗(2018.01)
制作步驟
第一步:飛船角色上下左右移動。
1. 加入宇宙飛船角色;選擇星空背景。
2. 造型中,將飛船大小調小一點;設置飛船的中央點為中心。
3. 設置開始事件
4. 直接重復執行,無限循環
5. 加判斷,然后使用偵測 “按鍵 左移鍵是否按下”,那么X坐標增加-11。即飛船向左邊移動。
6. 后來我們增加了一個判斷。如果X坐標大於-220,才將X坐標增加-11,否則就不增加。即到達左邊框以后,飛船不會繼續往左邊移動,保持在屏幕范圍內。
7. 向右,向下和向上,方法類似。
游戲做出來后,小小朋友要來玩。結果她一直都按住箭頭,飛船會超出屏幕。為了解決這個問題,我們就增加了邊框的判斷。
–飛船:上下左右移動–
第二步:克隆炸彈
8. 加入閃電角色。
9. 造型中,將閃電調小一點;設置飛船的中央點為中心。然后轉動了一下。
10. 設置開始事件
11. 直接重復執行,無限循環
12. 每個循環,都將子彈 “移動”到“飛船”。因為飛船是移動的,所以發射炸彈時,要從飛船位置上發射出來。
13. 增加如果那么的判斷,檢測空格按鍵是否被按下。
14. 如果空格鍵被按下,那么就克隆自己。(這里可以克隆其他角色-例如飛船)。
15. 然后設置:控制>克隆體啟動時。執行這個克隆體的腳本。
a. 首先,外觀>隱藏自己。 (開始的時候,我們是沒有增加隱藏、顯示的步驟的。這樣炸彈就在飛船上面能夠看見。)
b. 然后選擇:運動>面向0°方向,即朝上。這里可以改變方向,例如向右發射炸彈等。(可以選擇不同的方向,測試效果)
c. 然后外觀>顯示自己。
d. 重復執行;移動8步。炸彈即往上飛行。(可以改變移動的速度。)
e. 增加判斷,如果碰到邊緣,那么,刪除克隆體。(如果不刪除,就留一個尾巴在屏幕上方。)
16. 增加聲音:
a. 克隆自己以后,廣播消息1;
b. 當收到消息1時
1)演奏樂器設置為18-鼓
2)彈奏鼓聲2, 長度為0.25節拍。(要使用廣播,否則飛船發射炸彈就要等待聲音播放,導致不連續。)
-炸彈:克隆自己、克隆后移動、廣播播放聲音。
后續改進
1. 打算在上方隨機出現另外一個角色,例如鬼怪,鬼怪也可以克隆自己。鬼怪按照隨機的方向自上往下運動。(角色隨機從上往下運動,在上一球類發射的課程中已經學過)。如果鬼怪碰到子彈,鬼怪則消失,並且播放打中的音樂,最后播放一個炸彈爆炸的效果。
2. 增加計分器,每消滅一個鬼怪,就增加10分,這樣可以進行游戲了。
分享地址:https://scratch.mit.edu/projects/196376484/
瀏覽器中需要Flash播放器。
這個游戲,並不是由小孩獨自完成。是在家長指導下,由小孩點擊操作完成。目的依然是培養興趣,了解邏輯過程,了解要實現什么功能,使用什么控件,對控件如何操作。
少兒編程-Scratch