最新消息:680元/半年,推荐全网最具性价比的一站式编程学习平台码丁实验室

Scratch教程:距离产生美

Scratch 少儿编程 2130浏览 0评论

友情提示:680元/半年,儿童学编程,就上码丁实验室

在上一篇文章中,作者提出了对周围环境进行探测的“探测器”概念。给出了探测器的多种分类,对基于角色运动的“位置探测器”进行了研究和说明。

本篇将对另一种探测器进行研究和说明,这就是“尺寸探测器”。就是使用角色的大小实现探测周围环境的功能。

 

这里举出下面的图形为例:

距离产生美

是不是很美观?

这个图形看起来很复杂,实际上实现的思路比较简单。

程序的目的是将不同大小的圆放置在舞台上,而且所有放置的圆之间都保持一定的距离。

在程序中规定了圆半径大小的范围及圆与圆之间需要保持的距离,之后随机在屏幕的不同位置上放置小圆,放置后圆的大小不断增加,一旦遇到其它的圆,就停止增大,并根据指定的空隙大小调整圆的尺寸后使用图章绘图。直到放下指定数量的圆或放不下更多的圆为止。

 

下面介绍实现的步骤:

第一步,绘制一个圆。

大小设定为100*100,颜色设置为黑色。(建议使用矢量绘制方法)。将大小设置为100*100的原因是:这样圆的实际坐标尺寸与圆大小的参数正好是一致的,在进行尺寸的调整时,比较方便,不需要进行额外的换算。

距离产生美

第二步:设置几个变量。

距离产生美

变量用于控制整个过程的参数。其中MaxSize和MinSize是最大最小尺寸,NCircle是放圆的个数,N是实际放圆的个数,Space是两个圆之间的间距。

 

 
主程序如下

距离产生美

 

关键部分是绘制一个圆的子程序。

距离产生美

思    路

将圆的大小设置为最小值,放置在一个随机的位置上,如果这时已经碰到了黑色,说明现在的圆可能产生在之前圆的内部了,需要重新生成。之后每次将尺寸增加1,当发现碰到黑色时,就减去两圆之间的空隙,并绘制图章。如果超过最大的尺寸还没有遇到另外的圆,就按最大的尺寸绘制一个圆。这样,就能够得到需要的效果了。

 调节最大尺寸、最小尺寸与空隙等参数,就能得到不同的效果。

 

距离产生美

实际上这里就应用了尺寸探测器。

尺寸探测器

       即通过改变角色的尺寸,来检查是否与周围的角色发生碰撞,从而能够保持一定的距离。

可能大家感觉圆形的效果有限,如果将角色修改为其它的图形,可以达到很好的效果。如下面的例子所示。

 

距离产生美

这就是用类似的方法,将很多个不同字体的福字放在同一张图形上,既有规律,又有变化。

 

 

总结

 

1     通过修改角色的大小,将改变尺寸后的的角色作为探测器,可以使放置的角色与其它角色保持一定的距离或达到其它的效果。

2     使用定义参数的方式,使程序便于修改和调整效果。

3     从程序中可以看到,我们使用了角色是否碰到黑色的判断,虽然角色自己的颜色就是黑色,但是不会激发这个条件。否则所有圆都无法绘制了。

您必须 登录 才能发表评论!