
2.4 第8课:金灿灿的小星星

小海龟要画一个更加复杂的图形——小星星。
画之前我们来分析一下小星星的画法:
· 五角星不仅有5个角,还有5条边。
· 每画一条线段后,都需要旋转一个相同的角度,来画第二条线。

可以分为5步:
小海龟再往前画一条线段,旋转一个角度。
小海龟再往前画一条线段,旋转一个角度。
小海龟再往前画一条线段,旋转一个角度。
小海龟再往前画一条线段,就连接上了。

有了思路,新建文件,开始写代码:

保存文件并依次单击Run→Run Module选项,运行程序,小星星就画成功了。

2.4.1 添加背景色
只是画一个五角星还不太好玩,我们来给小星星的画布设置个背景颜色吧。

开始之前,我们先认识小海龟绘图的画布。画布就是turtle为我们提供绘画的区域,我们可以设置绘画区域的大小和颜色,可以通过turtle.screensize()方法设置。
turtle.screensize()方法有三个参数:长、宽和背景颜色。

长和宽控制着画布的大小,也就是方法前面的两个参数。
现在我们需要设置画布的背景颜色为黑色,制作一个漆黑的夜空。把第3个参数设置为black(黑色)即可,代码如下:

保存文件并依次单击Run→Run Module选项,运行文件,画布背景颜色成了黑色。

学会了设置背景颜色,我们要将小星星的背景颜色设置为蓝色。修改小星星的代码如下:

保存文件并依次单击Run→Run Module选项,运行程序,画布背景颜色成了天空的颜色。

2.4.2 给小星星上色
背景图已经变成星空的蓝色。现在要把小星星变成闪闪发光的颜色,要怎么办呢?就是要给小星星上色,想想有什么方法可以使用呢?
方法如下:
首先,要设置填充颜色,让黑色的星空更美些。
然后,开始填充。
最后,填充完毕收工。
· turtle.fillcolor(*args):设置绘制图形的填充颜色。如果我们要填充的是黄色,就把黄色填写进去:turtle.fillcolor("yellow")。
· turtle.begin_fill():开始填充。
· turtle.end_fill():结束填充。
在小星星原有代码上进行修改,代码如下:

保存文件并依次单击Run→Run Module选项来运行程序,小星星就变成黄色了。

天空中一颗闪耀的小星星就完成了。
注意
在Mac系统下运行程序,五角星的中间没有填充黄色;在Windows系统下,五角星是被黄色填满的。