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