Scratch实例-圆形绘图

最近发现Chris对于机械类积木越来越有兴趣,放学后回家他也可以一个人坐在书桌前静心研究,虽然有时还是会不仔细搭反方向,但比起最初时时都需要我来帮助有了很大的进步。今天他自己完成了一个自动绘图仪,各种轴和齿轮的组合并绑住一只马克笔,通过马达的带动,就变成了一个精妙的绘图仪器。

这让我想起了小时候我玩过的万花尺,画出的繁花曲线。也就引出了今天的主题,在Scratch平台绘制出可重叠的圆形图案。

01 需求讨论1

和果果同学讨论怎么来实现绘制圆形图案,以舞台为背景,看成xy轴,以中心点即(0,0)为圆点,设计一条直线为半径,转动360度,画圆。并且画圆是一个连续的动作并不是一蹴而就,则需要慢慢的转动一个度数,我们设每次转动5度,则需要360/5=72次停顿,在10秒内完成这个圆圈,则每次停顿10/72 秒。

02 角色绘制1

绘制圆的半径:

通过Scratch的绘图工具,以标注的中心点为起点,画一条直线,做为圆形的半径。

Scratch实例-圆形绘图_第1张图片

03 代码1

设置两个变量:

1.停顿次数

2.画圈时间

拖拽半径的代码

Scratch实例-圆形绘图_第2张图片

实现效果:

Scratch实例-圆形绘图_第3张图片

现在半径已经开始转动了,如果把圆画出来,我们需要使用到”画笔”这个积木块,但我们发现,如果让半径做为画笔,出来的效果就是这样的:

Scratch实例-圆形绘图_第4张图片

这样的效果是不满足我们的需求的,我们分析了一下,我们应该以半径的端点为画笔,这样就能画出我们想要的效果,那就需要一个端点的角色。

绘制半径的端点:

复制半径的角色造型,记住末端的位置,擦掉直线,并在末端画一个圆点图标,做为半径的端点。

Scratch实例-圆形绘图_第5张图片

给角色端点拖拽代码:

Scratch实例-圆形绘图_第6张图片

把之前给半径加上的画笔的代码去掉,再看看实现效果:

Scratch实例-圆形绘图_第7张图片

成功画圆。但如果我们想做一个类似万花尺的画圆图案,只画一个圆圈肯定是不行的,那再想想…..

04 需求讨论2

虽然已经成功画圆,但如果想要达到各种圆形的叠加,我们在草稿纸上是这样设计的:

Scratch实例-圆形绘图_第8张图片

通过移动圆形中心点的坐标,分别在xy轴上上下左右移动坐标,同时画圆,这样就可以实现圆形的叠加。

05 绘制角色2

通过简单的复制,我们将角色分为:

直线1,端点1(朝x轴正向移动)

直线2,端点2(朝x轴负向移动)

直线3,端点3(朝y轴正向移动)

直线4,端点4(朝y轴负向移动)

Scratch实例-圆形绘图_第9张图片

06 代码2

增加4个变量用来记录4个坐标的变化

x坐标1(正向)

x坐标2(负向)

y坐标1(正向)

y坐标2(负向)

分别对xy轴的上下左右方向进行移动,针对直线1的代码:

Scratch实例-圆形绘图_第10张图片

端点1的代码:

Scratch实例-圆形绘图_第11张图片

同理:

直线2和端点2朝x轴负向移动,

直线3和端点3朝y轴正向移动,

直线4和端点4朝y轴负向移动。

07 演示效果

这个演示效果看的极度舒适。

Scratch实例-圆形绘图_第12张图片
Scratch实例-圆形绘图_第13张图片

这里面掌握的知识还是针对xy轴坐标循环移动以及对画笔积木块的应用,只要多留意身边的事物,就能做出自己感兴趣的东西。一起加油吧!

END

你可能感兴趣的:(Scratch实例-圆形绘图)