陳新龍
“爆竹聲中一歲除,春風送暖入屠蘇。”古往今來,煙花與節(jié)日,煙花與詩詞都結下了不解之緣。放煙花是一個古老的節(jié)日民俗活動,五彩繽紛的煙花像是隨開隨落的降落傘,煙火重疊,在夜空中構成了美麗的圖案,成為我們欣賞的風景線??戳四敲炊嗟臒熁ǎ恢来蠹矣袥]有興趣一起動手做一個呢?
今天我們用掌控板結合mPython來制作電子煙花的動畫效果,展現出煙花從升起、綻放,再到消失的整個過程。通過這個實驗,我們可以熟悉循環(huán)模塊的使用,學會圖形繪制的方法(這里我們綻放就使用了圓圈的效果),還可以了解一點點掌控板RGB燈的應用(目的是為了實現煙花綻放時的效果)??偟膩碚f電子煙花動畫效果分為三個步驟。
首先設置兩個變量Y和 R 。Y代表上升的Y軸的坐標;R代表煙花的圓圈綻放半徑。程序開始先顯示一個“美麗的煙花”文字效果,然后進入正式程序,由于煙花的上升過程類似于一條直線,所以這里我們設置Y的范圍是60到30之間,每次的間隔為10,在執(zhí)行的過程中X的坐標軸不變,Y的坐標軸隨著設定的范圍移動,直線的長度為10,在寫完煙花上升程序后,運行可以看到一個長度為10的垂直線條自下而上的過程。
煙花升入天空后,緊接著就是綻放,首先設置R的取值范圍,當然也是綻放的圓圈大小,這里設置R的取值范圍從0到24,每次的間隔為2,設置完成后,就是實現綻放的效果,綻放過程中圓心是確定的,圓心根據煙花上升的橫坐標和縱坐標來決定,半徑從0到24,每次以2擴張。這里提醒一下大家,一定要繪制空心圓,最終出來的效果像波紋一樣從內圈慢慢地擴散出去,如果選擇了實心圓的話效果就從小圓點變成大圓點了。
煙花升入天空綻放過后,過段時間就會消失不見了,這里我們就在綻放的基礎上稍作修改就可以實現效果,消失的過程只需要用到擦除,從內圈漸漸地往外圈消失便完成了。擦除的范圍坐標與半徑和煙花綻放的坐標與半徑都是相同的。
按照上圖操作基本上一個煙花的綻放過程就完成了,但是只有一個煙花太過單調了,我們可以增加兩個小的煙花,代碼類似,只需要更改一下坐標軸的位置和煙花的半徑就可以實現了(效果中設置了一左一右兩個小煙花)。大家可以嘗試做做看。
這次實驗教大家如何用掌控板結合mPython做一個電子煙花動畫效果,難度還是有的,考驗大家對圖形繪制以及變量使用的水平,大家可以開動一下小腦筋想想如何做出不一樣的煙花。