2018年2月13日 星期二

Scratch小教室(入門) - 第8課 : 背景移動


學習目標 : 讓Scratch小貓前後移動時,背景往反方向移動
預估時間 : 65min
使用模組 : (1) faya brickNano
                  (2) faya搖桿模組
                  (3) faya觸控開關模組
工具 : 積木組 / 積木底板

=====================相關知識====================
目前為止我們完成了小貓的基礎動作,包含走、跳、蹲,這個章節我們會加入背景移動,當小貓往某個方向移動時,背景會往另一個方向移動,視覺感覺起來小貓會跑得比較快。

我們要加入了背景有兩個,一個是樹,另一個是太陽:

  • 樹 - 由於樹的距離比較近,因此移動的速度比較快,下圖中,小貓往左移動,樹相對的就往右移動,當小貓繼續往左移動的時候,樹會消失在螢幕的右方邊緣,但從左方繼續出現,如下方第二張圖所示。



  • 太陽 - 太陽距離比較遠,因此移動的速度比較慢,因為太陽只有一個,不會重複出現,下圖中小貓往右移動,太陽會慢慢往左移動,當太陽移動到邊緣時,太陽會消失不見,如第二張圖所示, 直到小貓往回走,太陽才會出現,如第三張圖所示。




有了以上的背景移動概念,我們就可以開始規劃程式了!

======================背景-樹=====================
程式:L8_tree.sb

首先點選 [Choose new arduino sprite from file]


從[Things]資料夾中,選擇一棵棕櫚樹[palmtree],當成新的精靈(sprite)


新的精靈一樣由原有的arduino控制,因此選擇[Use connection of sprite Arduino1]


接著點選這個精靈,在程式區拉出以下的程式 (注意不是在小貓的程式區,是在棕櫚樹自己的程式區)。底下程式分成三部份:

(1) 先把xy座標訂好,讓程式開始時,樹的位置是立在草地上的
(2) 接著偵測Analog0的數值,概念和小貓左右移動相同,不同的地方在於移動的方向剛好和小貓相反,並且速度比小貓慢一點點
(3) 最後一部分設定棕櫚樹消失/出現的條件,讓棕櫚樹碰到畫面邊緣時,會瞬間移動到另一邊,如此一來會產生樹木源源不絕的感覺。
 

看看結果:



======================背景-太陽=====================
程式:L8_tree_sun.sb

和新增棕櫚樹同樣的方式,我們在[Fantasy]資料夾載入一個太陽的精靈


接著在這個精靈的程式區拉出以下的程式 ,程式分成三部份:

(1) 先把xy座標訂好,讓程式開始時,太陽的位置是在空中
(2) 接著偵測Analog0的數值,程式和棕櫚樹相同,但由於太陽在遠方,因此移動的速度棕櫚樹更慢
(3) 最後一部分設定的條件,讓太陽超出畫面邊緣時會隱藏,直到小貓往反方向移動才會再次出現。


看看結果:




======================心得======================

我們在這一課加入了背景移動的程式,大家從中可以學習到如何讓背景重複出現,或者讓背景消失後再度出現。利用短短的程式就能夠達到我們想要的結果,是不是很有趣阿? 

 我們在下一課會加入怪獸從畫面邊緣出現,小貓必須透過跳或蹲的動作來閃躲怪獸的攻擊。

<< 第7課 : 蹲坐

====================================
fayalab 粉絲團



沒有留言:

張貼留言