放煙火 1 ( 往上發射 )
這篇文章會介紹,如何在 Scratch 裡使用擴充功能的畫筆、變數、函式、重複...等積木,模擬出放煙火效果 ( 這篇文章會先介紹煙火往上發射的做法 )。
舞台背景設定
設定舞台背景為一張夜晚星空的圖片 ( 在太空的類別中 )。
點擊「背景」,切換到「背景」頁籤,使用選取工具,全選星空的圖片,複製這張圖片 ( 提供新角色使用 )。
角色設定
在角色編輯區,刪除貓咪角色,使用繪畫工具,新增一個名為「背景」的角色,切換到造型頁籤,將剛剛複製的圖片貼上,對齊畫布中心 ( 參考:造型與繪圖 )。
再度使用繪畫工具,新增另外一個名為「煙火」的角色,切換到造型頁籤,使用「圓形」工具,在畫布中畫出一個「黃色小圓形」,對齊畫布正中心。
煙火和背景的比例如下圖所示:
積木程式原理 ( 背景 )
點擊「背景」角色,設定點擊綠旗時的動作:
- 將圖層移到最下層。
- 設定圖像效果幻影為 90 ( 接近透明 )。
- 使用重複無限次積木,每次重複時進行蓋章動作。
相關做法可以參考:仙女棒 ( 光跡效果 )
積木程式原理 ( 煙火 )
點擊「煙火」角色,從左側積木清單新增 n1 和 y1 兩個變數。
- 變數 n1:計算目前畫面上有幾個煙火分身。
- 變數 y1:設定煙火往上發射的初速度。
從左側積木清單新增一個名為「放煙火」的函式,增加 x 和 color 兩個參數。
編輯「放煙火」函式內容:
- 設定顯示角色,將角色的圖像效果顏色設定為 color 參數數值。
- 設定筆跡顏色為 color 參數數值,停筆。
- 定位到舞台下方,水平隨機的位置。
- 設定變數 y1 為 8~10 的隨機數 ( 讓每次發射速度都有可能不同)。
- 下筆畫畫。
- 使用「重複...直到」積木,直到 y 小於 -1 就停止重複,每次重複執行:
- 將 y1 減少 0.2 ( 越來越慢,模擬地心引力 )。
- 根據指定的數值,將 x 和 y 做對應的移動改變。
- 重複結束後,隱藏角色。
設定點擊綠旗的動作:
- 將舞台上的筆跡全部清除,停筆。
- 設定畫筆的寬度和顏色 ( 顏色使用和煙火同樣的黃色 )。
- 設定煙火角色的亮度和幻影為 0 ( 表示使用預設值 )。
- 設定變數 n1 為 0 ( 表示目前舞台上沒有煙火分身 )。
- 使重複無限次積木,每次重複執行:
- 等待直到 n1 等於 0 再繼續 ( 如果舞台上有分身,就不要放煙火,直到分身都消失為止 )。
- 等待 0.2~1 秒再繼續,讓煙火施放時間不固定。
- 執行放煙火函式,提供隨機數的參數數值。
完成效果
完成後,點擊綠旗,就會看見煙火不斷的往上發射 ( 目前還不會爆炸,下一篇文章會介紹 )。
範例解答
範例解答:放煙火 1 ( 往上發射 )
繼續閱讀
如果已經熟悉了放煙火 1 ( 往上發射 ),就可以繼續閱讀「放煙火 2 ( 爆炸效果 )」的文章。
文章連結:放煙火 2 ( 爆炸效果 )
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~