學習目標 : 讓Scratch小貓前後移動時,背景往反方向移動
預估時間 : 65min
使用模組 : (1) faya brickNano
(2) faya搖桿模組
(3) faya觸控開關模組
工具 : 積木組 / 積木底板
=====================相關知識====================
目前為止我們完成了小貓的基礎動作,包含走、跳、蹲,這個章節我們會加入背景移動,當小貓往某個方向移動時,背景會往另一個方向移動,視覺感覺起來小貓會跑得比較快。
我們要加入了背景有兩個,一個是樹,另一個是太陽:
- 樹 - 由於樹的距離比較近,因此移動的速度比較快,下圖中,小貓往左移動,樹相對的就往右移動,當小貓繼續往左移動的時候,樹會消失在螢幕的右方邊緣,但從左方繼續出現,如下方第二張圖所示。
- 太陽 - 太陽距離比較遠,因此移動的速度比較慢,因為太陽只有一個,不會重複出現,下圖中小貓往右移動,太陽會慢慢往左移動,當太陽移動到邊緣時,太陽會消失不見,如第二張圖所示, 直到小貓往回走,太陽才會出現,如第三張圖所示。
有了以上的背景移動概念,我們就可以開始規劃程式了!
======================背景-樹=====================
程式:L8_tree.sb
首先點選 [Choose new arduino sprite from file]
從[Things]資料夾中,選擇一棵棕櫚樹[palmtree],當成新的精靈(sprite)
接著點選這個精靈,在程式區拉出以下的程式 (注意不是在小貓的程式區,是在棕櫚樹自己的程式區)。底下程式分成三部份:
(1) 先把xy座標訂好,讓程式開始時,樹的位置是立在草地上的
(2) 接著偵測Analog0的數值,概念和小貓左右移動相同,不同的地方在於移動的方向剛好和小貓相反,並且速度比小貓慢一點點
(3) 最後一部分設定棕櫚樹消失/出現的條件,讓棕櫚樹碰到畫面邊緣時,會瞬間移動到另一邊,如此一來會產生樹木源源不絕的感覺。
看看結果:
======================背景-太陽=====================
程式:L8_tree_sun.sb
和新增棕櫚樹同樣的方式,我們在[Fantasy]資料夾載入一個太陽的精靈
(1) 先把xy座標訂好,讓程式開始時,太陽的位置是在空中
(2) 接著偵測Analog0的數值,程式和棕櫚樹相同,但由於太陽在遠方,因此移動的速度棕櫚樹更慢
(3) 最後一部分設定的條件,讓太陽超出畫面邊緣時會隱藏,直到小貓往反方向移動才會再次出現。
看看結果:
======================心得======================
我們在這一課加入了背景移動的程式,大家從中可以學習到如何讓背景重複出現,或者讓背景消失後再度出現。利用短短的程式就能夠達到我們想要的結果,是不是很有趣阿?
我們在下一課會加入怪獸從畫面邊緣出現,小貓必須透過跳或蹲的動作來閃躲怪獸的攻擊。
<< 第7課 : 蹲坐
====================================
fayalab 粉絲團
沒有留言:
張貼留言