最新消息:码丁实验室,一站式儿童编程学习产品,寻地方代理合作共赢,微信联系:leon121393608。

Scratch教程:多彩的“触角”

Scratch 少儿编程 1805浏览 0评论

码丁实验室,一站式儿童编程学习产品,寻地方代理合作共赢,微信联系:leon121393608。

在本系列文章中,作者提出了对周围环境进行探测的“探测器”概念。给出了探测器的多种分类,之前对基于角色运动的“位置探测器”、基于大小的“尺寸探测器”及基于不同造型的“造型探测器”已进行了研究和说明。

 

本篇将对另一种探测器进行研究和说明,这就是“颜色探测器”。

它是基于颜色的碰撞判断实现探测周围环境的功能。

多彩的“触角”

 

Scratch中有下面的几个积木用于进行基于颜色的碰撞判断。

多彩的“触角”

第一个是检测角色是否碰到某个特定的颜色(一般是背景中或其它角色上的颜色)。

第二个是检测角色上的某个颜色点是否碰撞到另外的指定颜色的点。

 

 

基于这两个积木,我们可以设计出两种应用。

1
 

通过判断碰到颜色的值,来判断当前角色的位置及与周围环境的位置关系。

2
 

通过使用角色上不同颜色的点,对周围环境进行探测。

 

多彩的“触角”
 

第一种应用

 

多彩的“触角”

在背景上绘有一个弯曲的迷宫,两侧的边界分别用不同的颜色绘制,我们想让一个小球角色自动从左到右通过这个迷宫。

由于两侧的边界绘制成不同的颜色。我们可以让小球开始时向右运动,之后根据碰到的不同颜色,决定角色向哪个方向转向。

程序如下
多彩的“触角”

简单思路

在角色碰到左边的红色边界时右转,碰到右边蓝色的边界时左转。可以看到,在适当的参数下小球能够自动走出迷宫。

实际上这个方法就是利用环境中不同位置的颜色不同进行判断。所以需要有背景或其它角色的颜色进行配合。

 

 

第二种应用

 

如果迷宫的左右边界都是一种颜色,则使用上面的方法就无法判断出碰到的是左边界还是右边界。这时,我们可以使用下面的方法。既然要分别探测左前和右前是否碰到边界,我们可以在左前和右前放置两个不同颜色的点(即“触角”),通过分别判断这两个触角是否碰到边界,决定转动的方向。

 

多彩的“触角”
 

上面的两种方式都可以。将主造型命名为”main”,将探测器造型命名为”seeker”。

这样的触角,由于具有特殊的颜色,代替角色在指定位置上进行了碰撞的判断。而且由于可以使用不同颜色的触角,可以同时对不同方向上的碰撞情况进行判断。

 

程序如下
多彩的“触角”

角色根据触角提供的边界信息,能够很容易地穿过迷宫。这和昆虫和动物使用触角对周围环境的检测是类似的。

 

正是由于Scratch提供了颜色碰撞的检测方法,才能够应用这样的方式进行检测和探测。为动画和游戏的开发提供了多种的可能性。

 

多彩的“触角”

颜色触角

  注意事项  

   如果点过小,可能出现漏判的问题。

  在制作颜色碰颜色的积木时,一定要注意颜色的次序,前面的颜色是角色造型中触角的颜色,后面的颜色是外部障碍的颜色。  

  需要注意参数的设置,如果每次转向的参数不合适,可能会出现转向过度或两个触角同时碰到边界的情况。

 

多彩的“触角”

 

总结

 

 

1   使用颜色探测器,可以对周围的环境进行检测。

2   如果在背景中有不同的颜色的物体,则可能根据角色碰到的颜色判断自己的位置。

3   使用角色上不同颜色的触角,可以同时对周围的多个方向进行探测。

4   基于这个方法的思路,还可能扩展出更多的有趣的颜色探测方式。

5   由于软件中未提供颜色碰撞角色的检测方法,可能还会对更多的应用产生一定的限制。

 

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