- 小學生趣味實例編程
- 小學拓展型課程校本教材編寫組編著
- 2433字
- 2019-08-02 16:07:36
3.2 畫筆指令積木塊編程實例
下面通過蝸牛及其軌跡的繪畫來學習畫筆模塊中各個指令積木塊的應用。
3.2.1 實例一:繪制蝸牛爬行軌跡
1.情景介紹
下面通過手動控制來繪制小蝸牛的爬行軌跡。使用方向鍵移動小蝸牛,小蝸牛在移動的同時繪制出它的軌跡。當按向上方向鍵〈↑〉時,小蝸牛會向上移動10步;當按向下方向鍵〈↓〉時,小蝸牛會向下移動10步;每按向右方向鍵〈→〉一次,小蝸牛將會向右旋轉10°;每按向左方向鍵〈←〉一次,小蝸牛將會向左旋轉10°。因此,若要直上直下及旋轉90°,則需連續按〈←>鍵或〈→〉鍵9次。
2.場景搭建
(1)舞臺背景。因為小蝸牛是在教室的墻角被發現的,所以由背景庫中將圖片chalkboard導入,做舞臺的背景,效果如圖3-2所示。
圖3-2 舞臺背景效果圖
(2)小蝸牛角色繪制。小蝸牛是這次繪畫的主角,可以使用“造型”的繪圖編輯器來繪制完成。首先用“橢圓工具”繪制蝸牛的殼,然后使用畫筆畫出蝸牛的身體,也可以使用線段工具來制作完成。繪制效果如圖3-3所示。利用顏色填充工具將小蝸牛涂上自己喜愛的顏色,這樣可愛的小蝸牛就繪制完成了。填充顏色后的小蝸牛如圖3-4所示。場景效果圖如圖3-5所示。
圖3-3 使用繪圖編輯器繪制小蝸牛
圖3-4 填充顏色后的小蝸牛
圖3-5 場景效果圖
3.腳本編寫
要繪制小蝸牛的爬行軌跡,首先要讓它運動起來,直接在動作模塊中拖動相應的指令積木塊即可。繪制軌跡需應用畫筆模塊中的指令積木塊,然而要想用計算機的鍵盤來控制它的爬行方向,還需要利用事件模塊中的“當按下××”指令積木塊,腳本編寫如圖3-6所示。
圖3-6 蝸牛爬行軌跡腳本
圖3-6中蝸牛爬行軌跡腳本的解釋如下。
1)標號為1的腳本:當單擊綠旗時開始執行腳本。
2)標號為2的腳本:將小蝸牛移至舞臺的中央。
3)標號為3的腳本:讓小蝸牛面朝右方。
4)標號為4的腳本:設置畫筆的顏色為藍色。
5)標號為5的腳本:設置畫筆的大小為3個單位。
6)標號為6的腳本:將筆畫設置為落筆狀態
7)標號為7的腳本:為了清除畫筆在腳本運行前留下的各種筆跡,需要在腳本的結尾添加“清空”指令積木塊。
來自事件模塊中的“當按下××”積木塊表示當按下上移鍵〈↑〉時,角色上移10步;當按下下移鍵〈↓〉時,角色下移10步;當按下左移鍵〈←〉時,角色向左旋轉10°;當按下右移鍵〈→〉時,角色向右旋轉10°。
4.運行效果
當按〈↑〉〈↓〉〈←〉〈→〉方向鍵時,可以控制小蝸牛爬行的方向和距離,這樣小蝸牛在教室爬行的軌跡就被記錄下來了,效果如圖3-7所示。
圖3-7 小蝸牛爬行軌跡效果圖
3.2.2 實例二:迷失在森林中的蝸牛
1.情景介紹
在每位同學都完成繪畫后,老師便把帶來的小蝸牛放回到了大自然中,讓它回家與自己的親人團聚。小蝸牛爬啊爬,發現四周全是整排整排相同的樹木,它迷失在了森林中。同學們都十分地想念那個給他們帶來快樂的小蝸牛,為了紀念它,自發畫了一幅畫,如圖3-10所示。同學們畫這幅畫用了很長的課余時間,因為森林里的樹太多了,每一棵樹的繪畫都需要大量的時間。老師卻告訴同學,其實只需要畫一棵樹便能繪制出整片森林,因為有一個神奇的指令積木塊——圖章。
2.場景搭建
使用默認的舞臺,角色用上個例子中的小蝸牛,還有一個角色就是樹木,從角色庫中直接選取文件Tree1來完成。場景效果如圖3-8所示。
圖3-8 場景效果圖
3.腳本編寫
因為在這里要形成成片的森林,所以只需要為樹木角色添加腳本,腳本如圖3-9所示。
下面分析一下樹木的腳本。因為要畫6棵樹,所以使用重復執行6次的指令積木塊。重復的動作由“圖章”指令積木塊來完成。它的作用就是將角色樹木的造型復制在舞臺上,就像按下圖章一樣,然后向前移動60步為下次按下圖章做好準備。這個角色的復制品不能被移動,也不能擁有腳本,但可以被清除。
圖3-9 樹木角色的腳本
4.運行效果
運行腳本的效果如圖3-10所示。
在本實例中,如果給小蝸牛添加了如圖3-6所示的腳本,就可以手動控制小蝸牛隱藏在森林中的地方了。
圖3-10 迷失在森林中的蝸牛運行效果
3.2.3 實例三:彩色棒棒糖
1.情景介紹
鑒于同學們在本次圖畫課上的優異表現,老師決定獎勵每位同學一個彩色的棒棒糖,每個棒棒糖的顏色都是不一樣的,同學可自行挑選自己喜愛的顏色的棒棒糖。
2.場景搭建
使用默認的舞臺,角色就是小紅和小明。為了突出彩色的棒棒糖,暫時委屈一下小紅和小明,就不讓他們出現在舞臺上了。如圖3-11所示,去掉角色顯示后面的對鉤。
圖3-11 設置小明角色不顯示在舞臺上
3.腳本編寫
小明喜歡深色的棒棒糖,而小紅喜歡淺色的棒棒糖,他們的腳本分別如圖3-12和圖3-13所示。
圖3-12和圖3-13中的腳本可以繪制出顏色完全不同的棒棒糖,但其實它們的腳本只有略微的區別。小紅發現,圖3-13比圖3-12的腳本多了一個“將畫筆的色度增加××”指令積木塊,使其繪制出的軌跡明顯比前者淺了、亮了許多。
圖3-12 小明深色棒棒糖的腳本
圖3-13 小紅淺色棒棒糖的腳本
腳本分析:在彩色棒棒糖軌跡的繪制中,最大的功臣非“重復執行”指令積木塊莫屬,一圈一圈的彩色條紋就是在它的幫助下完成的。首先將畫筆設定為所需的顏色和大小。最初畫筆的大小決定了棒棒糖的大小,即棒棒糖最外一圈的大小?!爸貜蛨绦小敝噶罘e木塊重復執行7次,每次重復的動作包括通過“落筆”指令積木塊畫棒棒糖的一圈,使用“將畫筆的顏色值增加××”指令積木塊為畫筆改變顏色(即畫筆的顏色值增加70),目的是使每一圈的顏色都有所不同,利用“將畫筆的大小增加××”指令積木塊使畫筆大小減少30,利用指令積木塊“將畫筆的色度增加××”來改變畫筆的色度,使每一圈的顏色有深淺的變化。這里使用了一個小技巧,利用畫筆大小從大變化到小,由外圈向里圈繪制,使得后繪制的里圈覆蓋在先繪制的外圈上面,就形成了棒棒糖的一圈一圈的效果。
通過圖3-12和圖3-13可以發現,小明的腳本沒有“清空”指令積木塊,而小紅的腳本有“清空”指令積木塊,這是為什么呢?實際上當執行腳本時,由于小紅和小明腳本執行速度的不一致,會導致先繪制的圖形被后執行的“清空”指令積木塊清除,因此只需要保留一個“清空”指令積木塊就可以了。
4.運行效果
腳本運行效果如圖3-14所示。
圖3-14 腳本運行效果(左邊為小紅的淺色棒棒糖,右邊為小明的深色棒棒糖)