Scratch的画笔能够很方便地画出漂亮的线条,但是没有填充功能,想要用Scratch画国旗就需要变通了。要画出全红的国旗和黄色的星星,就要用画笔将整个长方形和五角星涂满。

国旗的形状及大小都有法规明文规定,画国旗的时候一定要合规。国旗的长宽比为3:2、旗面左上方缀黄色五角星五颗。大星外接圆直径为旗高十分之三;四星较小,其外接圆直径为旗高十分之一,环拱于大星之右,且指向大星中心。在Scratch中计算每颗星的方向和位置比较麻烦,最简单的办法是下载一张国旗的图片作为舞台背景,逐一调整好五星的位置,再删除背景就可以了。(如图1)

国旗上五角星的位置关系

下面跟我一起来编写程序。

1. Scratch绘制实心图形的方法是画出外形后缩小一点边长,使用循环继续一圈缩小的图形,只要每次缩小的距离小于线宽就能得到一个实心图形了。

2. 绘制红色的国旗,画一个长宽比3:2的红色长方形。

1) 自定义积木,画红旗,添加输入项“长”、“宽”。

2) 设置变量长、宽。设定画笔颜色“红”,画笔粗细1。

3) 重复执行直到长或宽小于0。

4) 重复执行2次,移动长,右转90度。移动宽,右转90度。画一个长方形。

5) 将长、宽增加“-0.8”,没有减少1是为了保证笔画互相重叠。(如图2)

画红旗的代码

3. 绘制五角星。

1) 要画5颗五角星,当然要用自定义积木减少代码量。自定义积木,画五角星,添加输入项“边长”。

2) 重复执行直到边长小于0。

3) 重复执行5次,移动边长,右转144度,移动边长,左转72度,画出1个五角星。

4) 将边长增加“-0.8”。画一个稍小的五角星。(如图3)

画五角星的积木

4. 调整每颗星的位置和方向。这是我设定的数据,根据国旗大小会有变化。(如图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)。