scratch3.0小问题系列(六)画图因边界导致变形

scratch3.0小问题系列(六)画图因边界导致变形_第1张图片

大家好,我是苏小糖,今天我们玩一玩画笔。画笔是个不错的工具,就像Windows系统自带的画图板。我们可以标记角色的移动轨迹,也可以通过一系列计算,绘制自己想要的几何图形。当画图全部就在舞台上的时候,不会有问题,但是当画图要超越舞台边界的时候,问题就来了。对的,一旦超越边界,它就变形了

有的同学说了,你是不是强迫症晚期,为啥要画这么大?我想说,对呀,强迫症啊,旁边有留白,不觉得很别扭么?我们要整整齐齐的把旁边的留白也画上,而且,不能变形。下面我们一起探究,如何解决变形问题。

1.画一个逐步扩大的正方形

设定正方形的四个顶点为(a,0)、(0,a)、(-a,0)、(0,-a),只需要每次把a+1,就可以看到正方形逐步扩大,为了方便查看,每次我们让画笔颜色也+1,这样就得到一个颜色渐变的正方形了。

那么我们设定a从1开始每次自加1,分别100次,200次,300次,400次。运行结果如以下四图。


scratch3.0小问题系列(六)画图因边界导致变形_第2张图片
scratch3.0小问题系列(六)画图因边界导致变形_第3张图片
scratch3.0小问题系列(六)画图因边界导致变形_第4张图片
scratch3.0小问题系列(六)画图因边界导致变形_第5张图片

通过上面的4幅图,我们可以看到循环100次和200次的时候,因为所画图形均在舞台内,没有变形。而300次和400次的时候,图形差不多就好像是从上下方向压扁了一样。如果运行程序的时候,仔细观察可以发现,到最后只是边界在不停闪烁,说明,已经被强制限定了图形的进一步加大。

2.如何解决问题  

对于强迫症同学来说,上面画的图形真的不完美。那么怎么解决这个问题呢。很奇葩的解决方法,通过改变角色大小,来扩大限定边界。我们先测试把小猫的大小改到1,系统会默认小猫角色最小值5。这个时候运行会发现,相比大小100的时候,图形被进一步限定了。好像全部缩到了舞台里面。


scratch3.0小问题系列(六)画图因边界导致变形_第6张图片

我们隐约感到,角色的大小会影响画图的边界,于是改角色大小为1000。这个时候发现,小猫角色大小系统设定最大535。那么这个时候再运行程序呢,我们发现,期待的强迫症图形出现了,简直完美。因为舞台边界导致的挤压变形问题解决了。


scratch3.0小问题系列(六)画图因边界导致变形_第7张图片

3.额外收获

在多次调试的时候发现,颜色可以呈现出波纹状态逐渐扩散的一种景象。于是我们加上重复执行,开启加速模式,得到了下面的这种动画效果。


好滴,最后我们再说一下结论,改变角色大小,可以解决画图因边界导致的变形问题。

希望,以上分享对各位有所帮助,转发请注明出处。在使用scratch的时候,你都有什么小问题呢,可以在留言区留言,我们一起讨论解决吧。

scratch3.0小问题系列:

scratch3.0小问题系列(一)字体调节 -

scratch3.0小问题系列(二)克隆体与本体的继承关系 -

scratch3.0小问题系列(三)克隆体个数探究 -

scratch3.0小问题系列(四)克隆模块下面的积木归谁所有 -

scratch3.0小问题系列(五)造型中心点设定 -

我是苏小糖,平时玩玩scratch、microbit和arduino。后续会推出更多相关文章分享给大家。喜欢的话就关注我吧。

你可能感兴趣的:(scratch3.0小问题系列(六)画图因边界导致变形)