### 介绍
你将创造数百种不同大小、形状和颜色的花朵,使用按键自动生成花朵。
按 **f** 可以绘制几朵花,按 **r** 可以绘制大量随机花朵,按 **p** 可以绘制花朵图案。

### 资源获取

想要获取项目文件,可扫码关注“小石头编程”公众号,回复“**花朵生成**”获取下载地址。
### 能学到的知识
在这个项目中,我们可以学到以下知识:
- 如何使用“图章”生成图片
- 如何使用Scratch积木制作自定义积木(方法)
- 如何使用随机数
- 如何使用键盘输入
### 项目制作
#### 1、生成一朵花
首先,我们需要创建一个Scratch项目,将默认角色猫删除,添加画笔扩展,点击Scratch左下角图标:

选中画笔扩展,如下所示

此时,在代码区域就有了画笔扩展,如下所示:

现在使用绘图工具创建一个新的角色,形状像一朵花的花瓣。
点击"选择一个角色",然后点击"绘制"并将角色重命名为"Flower"。

使用"造型"选项卡中的绘图工具来绘制你新创建的角色,使用圆形工具绘制一个填充橙色的花瓣形状。

将以下代码添加到"**Flower**"角色中,当绿旗被点击时,将会盖印一朵有六个等间距旋转花瓣的花朵。


你可能会发现你的花瓣排列方式有些奇怪:

这是因为角色是围绕其中心旋转的。
将花瓣移动,使其底部位于在画布中心位置,如下所示:

放大视图会更容易操作。
在再次运行代码之前,我们应该擦除舞台上的所有角色以清空它。
点击"画笔"积木区域中的"全部擦除"积木。

检查下结果是不是这样:

#### 2、制作自定义积木来画花朵
如果我们想绘制大量的花朵呢?我们不需要制作大量代码副本,而是可以在 Scratch 中创建自己的积木块,并在每次想要绘制花朵时使用它。
点击"自制积木",然后点击"制作新的积木",创建一个名为"绘制花朵"的积木块。

现在在"自制积木"部分有一个名为"绘制花朵"的新积木块,在舞台上也有一个新的定义积木块。


将绘制花朵的代码从"当绿旗被点击"积木移动到新的"绘制花朵"定义积木块中。
代码应该看起来像这样:

添加以下代码,在绿旗被点击时清空舞台并使用你新创建的"绘制花朵"积木块:

点击绿旗测试你的代码,查看是否出现了一朵花。
现在修改你的代码,使角色移动然后再绘制另一朵花:

测试代码,你会发现出现两朵花。

#### 3、自定义花朵
目前我们绘制的所有花朵都完全一样。接下来我们将为"绘制花朵"积木块添加一些输入,以便可以绘制不同颜色、大小和花瓣数量的花朵。
在 Scratch 中,我们可以使用"将颜色特效增加"积木来改变角色的颜色。
将"绘制花朵"定义修改为改变颜色:

执行代码,会出现以下结果:

"将颜色特效增加"会根据角色的默认颜色改变颜色,所以如果你的角色一开始不是橙色,你会得到不同的结果。
尝试在"将颜色特效增加"积木中使用从0到199不同的数字,看看会得到什么不同的结果。
目前所有的花朵都是相同的颜色。要让每朵花的颜色都不同,你需要为"绘制花朵"积木块添加一个输入。
右击"绘制花朵"定义积木块,选择"编辑":

然后选择 添加输入项:

输入出现在"绘制花朵"定义中,你可以将它拖到你想要使用它的地方。
将"颜色"输入拖到"将颜色特效增加"积木中:

注意,"绘制花朵"积木块现在有一个新的输入,设置为1:

更改"绘制花朵"积木块中的数字,使两朵花呈现不同的颜色。你可以选择0到200之间的任何数字。
你的代码应该类似于这样:


现在添加另一个输入来设置花朵的大小,这样你的"绘制花朵"积木块看起来就像这样:


测试代码,结果应该如下:

选择花朵有多少个花瓣也很酷。
添加另一个输入,这样你就可以绘制如下所示的花朵:


接下来,编辑你的代码,这样就可以通过按下f键来绘制不同的花朵。
现在将绘制花朵的代码从"当绿旗被点击"积木下移开,将代码放在"当f键被按下"积木下。

按f键测试你的代码。
我们可以尝试在程序中添加更多的"绘制花朵"积木块,在整个舞台上绘制不同颜色、大小和花瓣数量的花朵。
#### 4、挑战:画一个花朵图案
我们可以多次使用"绘制花朵"积木块来绘制更多的花朵,比如在同一位置绘制不同的花朵会产生有趣的效果。
创造一个你喜欢的设计。这里有一个例子:

你不必使用椭圆形的花瓣。例如,你可以使用粗直线和黑色背景来创造一个像这样的烟花图案:

烟花图案的"花瓣"只是一条直线:

添加新的花瓣造型,看看你能想出什么样的花朵。
试试使用一个未填充的角色形状,比如方形,看看会发生什么。
#### 5、随机生成花朵
现在你将使用"绘制花朵"积木块来创造一百朵随机的花朵,它们会遍布整个舞台,只要按下r键,就会随机生成花朵。

在你的角色代码中添加一个新的"事件"积木块,这样当r键被按下时,屏幕就会被清空。

然后添加一个重复执行积木,重复执行100次,每次执行时,移动到随机位置:

使用"绘制花朵"积木块创建一朵颜色在0到199之间随机的花朵,另外把花瓣数量和大小也改成随机数。
你的代码现在应该是这样的:

按下r键,看下花瓣的生成效果。
#### 6、花朵图案
你也可以使用"绘制花朵"积木块来创造整洁的花朵图案。我们修改“绘制花朵”中,将积木“将颜色特效增加”修改为“将颜色特效设定为”,如下所示:

创建一朵花或一些你喜欢的花朵组合。这里有一个例子:

按p键查看你的花朵图案。这个例子看起来是这样的:

现在在舞台顶部绘制一行这样的花朵。这里有一些示例代码,你可能需要调整数字以使其适用于你的花朵:

按下P键,可以看到以下花朵:

添加另一个循环来创建更多行的花朵。这个例子添加了一个重复3次的循环来创建三行。

按下P键,可以生成三行花朵:

你想加快绘制花朵的速度吗?
右击"绘制花朵"定义积木块,然后点击"编辑"。点击"运行时不刷新屏幕"框。

现在花朵可以画的更快了。
#### 7、挑战:自定义花朵积木块
这些花朵的外部和内部花瓣数量是相同的,内部花朵的大小与外部花朵成比例:

你可以使用一个名为"绘制双层花朵"的自定义积木块来创造这样的花朵,该积木块有外部颜色、内部颜色和大小的输入:

"绘制双层花朵"积木块可以绘制出大量同样样式的花朵:

下面可以尝试去制作一个新的自定义积木块,包含你需要改变的必要输入,以创造出你喜欢的花朵类型。
然后使用你的新积木块创造一个酷炫的设计!