Scratch的畫筆能夠很方便地畫出漂亮的線條,但是沒有填充功能,想要用Scratch畫國旗就需要變通了。要畫出全紅的國旗和黃色的星星,就要用畫筆將整個長方形和五角星涂滿。
國旗的形狀及大小都有法規(guī)明文規(guī)定,畫國旗的時候一定要合規(guī)。國旗的長寬比為3:2、旗面左上方綴黃色五角星五顆。大星外接圓直徑為旗高十分之三;四星較小,其外接圓直徑為旗高十分之一,環(huán)拱于大星之右,且指向大星中心。在Scratch中計算每顆星的方向和位置比較麻煩,最簡單的辦法是下載一張國旗的圖片作為舞臺背景,逐一調(diào)整好五星的位置,再刪除背景就可以了。(如圖1)
國旗上五角星的位置關(guān)系
下面跟我一起來編寫程序。
1. Scratch繪制實心圖形的方法是畫出外形后縮小一點邊長,使用循環(huán)繼續(xù)一圈縮小的圖形,只要每次縮小的距離小于線寬就能得到一個實心圖形了。
2. 繪制紅色的國旗,畫一個長寬比3:2的紅色長方形。
1) 自定義積木,畫紅旗,添加輸入項“長”、“寬”。
2) 設(shè)置變量長、寬。設(shè)定畫筆顏色“紅”,畫筆粗細(xì)1。
3) 重復(fù)執(zhí)行直到長或?qū)捫∮?。
4) 重復(fù)執(zhí)行2次,移動長,右轉(zhuǎn)90度。移動寬,右轉(zhuǎn)90度。畫一個長方形。
5) 將長、寬增加“-0.8”,沒有減少1是為了保證筆畫互相重疊。(如圖2)
畫紅旗的代碼
3. 繪制五角星。
1) 要畫5顆五角星,當(dāng)然要用自定義積木減少代碼量。自定義積木,畫五角星,添加輸入項“邊長”。
2) 重復(fù)執(zhí)行直到邊長小于0。
3) 重復(fù)執(zhí)行5次,移動邊長,右轉(zhuǎn)144度,移動邊長,左轉(zhuǎn)72度,畫出1個五角星。
4) 將邊長增加“-0.8”。畫一個稍小的五角星。(如圖3)
畫五角星的積木
4. 調(diào)整每顆星的位置和方向。這是我設(shè)定的數(shù)據(jù),根據(jù)國旗大小會有變化。(如圖4)
五星的位置和方向
1) 紅旗,方向90,大小360×240,起點(-180,140)。
2) 大星,方向90,大小26,起點(-111,90)。
3) 小星一,方向45,大小9,起點(-60,120)。
4) 小星二,方向60,大小9,起點(-35,97)。
5) 小星三,方向90,大小9,起點(-33,60)。
6) 小星四,方向45,大小9,起點(-60,37)。