2018年11月10日 星期六

簡單學 Scratch #3 貓咪與恐龍賽跑



先編寫貓咪的程式,再載入新角色。

貓咪在舞台下方來回滑行,接續以前的範例,部份程式如下:


當《綠旗》被點擊後,貓咪面朝90度,定位到舞台左下角,然後滑行到右下角;再轉向,再滑行回到左下角。

 ↓執行後的結果

我們會發現《面朝-90度》後,貓咪整個逆時鐘翻轉,而不是左右翻轉。也就是小程式的第5行《面朝-90度》需要修訂!在修訂程式前,我們來瞭解《角色》的一些特性。

↓滑鼠指向角色區的貓咪,按滑鼠右鍵


↓旋轉的方式:目前(藍色)是繞圈圈的方式,另一個是左右翻轉

要讓貓咪向後轉,顯然是要左右翻轉,而不是繞圈旋轉。現在我們要透過修改程式來設定貓要左右翻轉,而不是繞圈轉!


↓將積木《迴轉方式設為左-右》拖曳到程式的倒數第三行,再執行程式,就會貓咪回頭的方式就正常了


現在我們希望貓咪要一直來回滑行,不要停下來;因此我們需要另一種積木:

↓先在程式面版中,將《重複無限次》的積木拉到程式區。


初學者對《重複無限次》積木總有一個疑問:嘴巴太小,似乎只能塞下一個積木?!其實積木的開口大小是彈性,隨著程式的多寡,積木會自動張大嘴,不需擔心積木開口是否塞得下程式。

↓將程式塞進《重複無限次》的嘴吧裡


↓嘴吧會自動張大

↓最後再跟綠旗合併在一起

現在按綠旗執行程式,貓咪就會來回走不停。若要停止,可以按《綠旗》右邊的紅圈圈,也就是《停止》

↓貓咪來回走不停,可以按《紅圈》停止執行



接下來我們要引進另一個角色--恐龍;

↓在角色區,點選《在範例中挑選角色》,進入角色範例庫


↓先點選左邊的《動物》→再選《Dinosaur2》,再按《確定》


↓載入恐龍後,發現「程式不見了」


↓在角色區點選貓咪,程式又回來了

不同的角色對應到不同的程式,恐龍是新角色,還沒有寫任何程式,所以程式區是空的;而原來貓咪的程式還在,只要在角色區點選貓咪,相對應的程式就會出現。

現在我們替恐龍寫相對應的程式,內容與貓咪相同,只有在座標略有不同,程式如下:

↓綠色旗子有兩面,一個在舞台區的上方,另一個在程式區內

當角色不只一個的時候,只想看某個角色執行的情形,可以只點選程式區的綠旗子。如果要執行整個程式,就需要點選舞台區的綠旗子。

↓只有貓咪動


↓只有恐龍動


↓兩個角色一齊動

當兩個角色在一起的時候,就有相互擋住的問題。也就是誰在前面,誰在後面?

↓恐龍在前,擋住了貓咪

↓貓咪在前,擋住了恐龍

在這個例子,我們希望貓咪在前,因此貓咪的程式多了一行。

↓將《程式》→《外觀》內的《圖層上移至頂層》加到貓咪的程式內


由於兩個角色的滑行時間都是1秒,所以兩者都跑在一起,沒有追逐的感覺。因此我們將貓咪的1秒改成1.5秒,其餘不變,就有追趕的效果!

↓最後的成果

學習重點:
1.載入不同的角色
2.不同的角色有其對應的程式
3. 解決旋轉的方式,角色相互遮蓋的問題
4. 無窮迴圈的使用

沒有留言:

張貼留言