陳新龍
我們在Scratch里來一場美麗的煙花迎接牛年。通過仔細觀察煙花確定程序的目標是在黑夜中讓不同顏色飛升后從一點綻放,變成一把大傘后慢慢消失(圖1)。

首先設置舞臺背景為黑色。新建一個全黑的角色“背景殘影”,目的是為了實現煙花上升后有漸變的效果。將外觀虛像特效設定成90,并且重復執行圖章(圖2)。

接下來使用畫筆做出煙花綻放的過程。將畫筆的顏色設置成鮮艷的顏色(紅、黃、綠、紫等)。煙花是從地面升入天空的,設置煙花地面起始位置(X軸上-200到100之間取隨機數,Y軸-180)。設置兩個變量控制煙花上升速度和方向,新建變量時注意點擊“僅適用于當前角色”,設置變量“X速度”為2和“Y速度”為15。重復Y速度上升一次減少0.5,當Y速度小于0時,增加“煙花爆炸”的自制積木,并且停止這個腳本(圖3)。

自定義積木“煙花爆炸”目的是讓火種從中心一點綻放。這個效果是如何實現的呢?需用到克隆方法,重復執行30-80次(控制綻放出的火花數量),在不斷克隆自己。每個克隆體,會隨機在1°-360°之間選擇一個角度曲線射出,當涉及到繪制曲線時,我們會用到sin和cos。X速度設為3和5之間取隨機數*sin角度,Y速度設為(3和5之間取隨機數*cos角度。重復執行30-40次,每次的X軸和Y軸的坐標不斷增加,同時Y速度不斷地減少-0.2,然后刪除克隆體。相當于煙花綻放后消失(圖4)。

單個煙花測試成功后,復制多個并修改參數完成繽紛的煙花綻放。