通过前面的学习,我们已经了解了 scratch 的画图扩展模块和音乐扩展模块。今天我们来学习 scratch 的另一个扩展模块, 视频侦测模块。像添加其他扩展模块一样,点击 scratch 界面左下角的添加扩展按钮,从打开的窗口中就能找到这个模块。需要注意的是,使用视频侦测模块需要设备中配备摄像头,这是一个非常有趣的模块,让我们一起来了解一下吧。 首先能看到他还有四个积木。第一个积木,当视频运动大于实积木是一个事件积木块,类似于我们学过的当律奇被点击积木和当角色被点击积木,只要满足摄像头所监控到的视频运动大于设定的数值,就可以执行下面 的代码。第二个积木,相对于角色的视频运动积木是侦测摄像头所提供视频相对于角色或舞台的运动幅度或运动方向。在第一个参数下拉框中包括角色和舞台。 在第二个参数下拉框中包括运动和方向。这个积木所检测到的信息通常作为一个变量与条件判断积木一起使用。只要视频相对角色或舞台的运动方向或运动幅度达到一定条件,就执行相应的操作。第三个积木,开启摄像头积木, 他有三个参数,开启、关闭镜像、开启摄像头,顾名思义,他用于开启或关闭摄像头镜像。开启摄像头是将视频画面左右反转展现,现在老师举起左手镜像,开启摄像头后,左 手在画面中跑到了右边。第四个积木,将视频透明度设为,他用于设置视频的透明度,当把视频透明度分别设为九十和二十,能看到数值越大,视频的影像越模糊。数值越小,视频的影像越清楚。 来看使用视频侦测模块搭建的接苹果游戏,当苹果往舞台下方飘落的时候,如果 scratch 侦测到视频角色的运动幅度大于十,那么苹果就开始往舞台上方移动,否则苹果就继续往下落。当苹果碰到舞台边缘的时候,摄像头关闭 是不是很有趣呢?使用视频侦测模块还能实现哪些有趣的编程效果呢?赶紧自己去试试,看看会不会有新的发现。
粉丝118获赞551

视频侦测模块进入单击拓展加,在拓展模块中选中视频侦测模块, 在软件中多了一个视频检测模块。视频侦测模块有以下几模块,当视频移动大于十的时候要干啥?相当于角色的视频运动。 开启,关闭摄像头,将透明度设定为多少? 先看视频运动是一个事件积木块,拿视频运动数字我一个 我们设定的数值进行比较,如果大于设定的值,那么执行上面的程序。 视频运动属顺侦测运动和方向的。这么快开启,在使用视频侦测时,一定要记得开启摄像头,否则是没有效果的,使用完毕后也要牢记关机,关闭摄像头。 还有电脑要有硬件摄像头才可以,如果你的电脑没有摄像头,那么也是开启不起来的。设置视频透明度,这个子木块可以增加视频透明度。 好实际演示一下。打开啊, aj 丢了,变成软件,如果没有软件加微 aj dl 马上给你 加视频模块,点击添加拓展 鼠标指的视频政策好正常呢,他会启动的时候呢,会显示当前摄像头所拍到的 这一个。冒烟呢,是我打开的,先看一下这透明度啊,冒烟呢是五十, 假如我写一百的时候,哎,这个透明度就看不到了。写零的时候,这点击上透明度呢,就看的比较清楚,我的手看的比较清楚, 好把透明度啊设定为零啊。 当视频大于十的时候要干啥?视频意思就是说当我的手移动大于十的时候,可以用小猫旋转 旋转十五度啊,试一下啊,每大一时,小猫就不动的时候就不转,我手动的时候小猫就转了, 这个呢是检测小猫它的角度, 运动或者主要是运动,也可以检查他的方向。怎么检 唱啊,用说直接说出来, 要实时检测的时候呢? 小利器,控制重复执行, 点击运行。好,现在是方向啊,大家记得方向哦,有哪几个?这里也可以显示方向, 再看一下他的点击运动啊,运动运动呢,从零到多少? 零到一百,正常是他的纸都是比较简单的啊。开启 摄像头,假如我要关闭他了,点击关闭摄像头就关闭了,开始摄像头就打开了程序在运行的时候呢,必须要先要打开摄像头 好比较简单啊,现在呢就举一个例子吧,我要用手啊,抓足球 要添加一角色运动篮球也可以, 喜欢哪个潮?喜欢这个啊,把声 小猫先删除掉, 大家看到的这一块呢是机器人主板,如果大家后面要新集成硬件编程呢,可以损配机器人主板或者机器人透件进行学习, 先把它移走, 现在演示一下。用手来托住啊,这个球怎么托住呢啊?首先编成 在试机里面程序运行的时候点击史维奇,程序开启的时候要打开摄像头, 这个球呢啊,要放到中间啊,那么叫 sy 啊,中间呢是零, s 是零, y 是零。 好,这个时候就开启重复执行了啊,这时候要他不断的在检测。 首先呢这个球呢啊,默认之,默认呢,他要掉下来,如果没有用手托住他的手,这个球呢就往下掉, 怎么去做?还记得坐标啊, s s 坐标 y, 坐标 是坐标歪,坐标往下掉是歪啊,负 好找到歪,在运动里面 剪歪,坐标增加,可以竖啊,竖直改小一点。可以先运行一下,看他会不会掉。哎,往往上掉了。 好再进行判断啊。 怎么判断? 判断了他的运动速度啊,是否大于啊? 判断要用到什么?用到如,如果, 那么如果什么如果啊, 就进行比较吧,用到定算里面的意思,就说这个值啊,当他大于多少的时候, 就要这个球干啥,怎么来判断好,也可以用这个 大小,再来到视频模块 把这个拉出来啊。当前角色 运动大于多少? 这个值呢?是可以改变的啊,在角色上运动要大于二十,如果想增加难度呢,就要改成五十,先写二十吧。好,如果大于,那么球呢?就往上走, 将歪坐表增加, 这里也改成五。 好,可以试一下啊,运行一下。哎,我手来了,哎,掉了掉了掉了掉了,哎,掉到边缘了,太。因为太慢了,再来一次, 拖住他不会往上走。什么意思?程序不完美啊,碰到边缘没反应,所以这里要增加一个判断,当碰到边缘的时候, 如果啊 一样把这个福字就可以了, 先停几下。好,如果啊,碰到舞台啊,这个不行。碰到边缘啊,这用到政策, 整车里面有一个,看一下这个行不行。碰到舞台边缘关闭摄像头, 把摄像头直接关闭。 好,再来一次啊,认识一下。哎,碰到边缘就关闭摄像头了啊,现在因为这个速度显示不出来,可以把这个加大一点看一下。 托起来了,托起来,托起来,托起来,托起来, 拖起来,拖起来拖起来。哎,他跑到边缘的时候程序也就停止了,意思就说不能跑太太久了。好,这个程序停止呢,还可以用, 用到一个植物块,就说如果足球碰到舞台边缘,那么一定要记得关闭摄像头啊,刚才关了,碰到边缘,游戏结束停止脚本,大家还记得在哪里 停止啊?在空置里面有一个停,停止放到哪里 可以放到这里面,好再来运行,一起看,好好开始。哎,还没反应就停了,太快了,再来一次, 太快了,再来。这球呢,就说不能拖的太高, 太高他碰到边缘也不行, 大家自己去玩一下啊,要一定要有摄像头,就说你的电脑要配置一个 usb 摄像头,碰到边缘程序就停止了, 把程序保存一下吧,另存一下。 第二十四节课 视频不好看。 好,这个实验呢,就讲解完成,怎么取消他的啊?点击卸载 再返回。哎,这里就没有了啊,增加点击就进来了,默认的时候呢,启动是有摄像头的,还有他默认的时候他的对比度啊,透明度呢,也是比较低的,所以建议大家把它改成零啊, 这样的对比度呢就大一点。 这个难度呢啊,可以尝试一下。这里改成五十,我们试一下。 哎,认识一个 哎,这里要移动快一点,要不要,不然就很快 游戏就结束了,这个大家自己玩一下,我保存一下 视频模块呢,就一二三四四个,比较简单,大家有摄像头的时候可以试验一下。

ok, 十块起呢,有一个扩展模块呢,叫做视频侦测这个模块呢,我们加入的话,你会看到其实只有一些简单的模块,什么 呃视频的运动大于什么,还有视频的运动相对于角色啊,以及开启摄像头啊,还有透明度啊这些,这些看上去都很简单,但是他其实可以用这些简单的模块来做出不同的例子啊。举个例子,那我们呢是做了三种不同的例子。 首先呢,最简单的当然是呃,通过这个就是在视频对于这个角色的一个大小的话呢,我可以拍到这种猫的话呢,让他退一个固定的距离对吧?这个就是这个最简单 就是后退固定距离的一种方式,这是第一种。然后第二种的话呢,当然可以将难度升级,也就是说基于你拍打的力度啊,这个小猫可以退的,你拍的力度小了,他可以拍的他就退的少一点,如果你拍的大了, 他就退的远一点。那这一个的话呢,你可能就需要有一个变量来存下来这个力度对吧?其实就是呃相对于角色的一个运动的这个值,把它存在变量里面, 然后接着呢,因为你的 x 其实你要后退对吧?那么你就是 x 上的一个变化,那么你用零减掉这个啊,力度的这个值啊,他就会后退相应的一个距离。 我这个难度呢,就比第一集要难一点了。那么当然你还可以做的更复杂一些,就是当你的小猫对吧, 小猫在这里,小猫被拍打的话呢,假设小猫在这里啊,现在假设小猫在这里,那拍打的话呢,他是不是要做一个后退,后退的话呢,我想让他做一个翻滚对吧?翻滚, 但是翻滚呢,他有一个问题,翻滚,就是说你只能翻滚这一个后退的距离对吧?这样的话呢,我们在第二例中讲过,我们是可以把这个距离给记下来的,然后呢,也可以做一个后退对吧?后退。 现在呢,其实他还有一个动作是翻滚。那么我们就拆解一下这个呢。第一第一部分呢,我们是做这个前后的 运动,这是小猫的。那么第二部分呢,我做一个翻滚对吧,因为是快手,里面是支持多现成的。那么其实可以拆剪成两个动作,一个是移动,一个是翻滚。那么翻滚什么时候结束呢? 当然就是你的这个,我们设置了一个新的变量,就是说每次拍打的时候呢,将这个变量设置为零, 然后他是不是呃,然后他没过一段时间呢,他就增加一对吧,他不断的增加增加增加增加,也就是说这个移动距离啊,不断的增加增加, 也就是增加到这个你的后退的这个距离的时候呢,他就不翻滚了。所以就这个条件,这个条件是在判断这个增加的距离啊,是不是还小于这个呃翻需要翻滚的这个力度的这个距离。 如果是的话,就继续翻滚,如果已经到达的话,他就不翻滚。也就是说只有在这个距离啊,还没到达之前,他做一个翻滚啊。这样的话,就比这个第三个例子就比第二个例子更难一些了,他有一个多 现场的一个控制,第二个他有一个翻滚的具体的一个计算对吧?这里面有个小技巧, ok? 所以十块钱的模块看上去简单,但是他还是可以做出不同深度和难度的例子,那么需要大家去发挥想象力。好吧。

哈喽,同学们大家好,我是让学编程变得更有趣的学老师。今天我们学习四个 rap, 第三十一课四个 rap 控制乐高温度二点零, 现在我身边是一套维度二点零,我们先拿出维度的一些零件,先拿出电池盒, 拿出两个马达, 然后拿出一个距离传感器,再拿出一个清洁传感器, ok, 接下来我们打开四个 rap, 打开此格纸之后添加 乐高艾灸,可以省温度二点零。 好,点击鼠标手键添加这个模块,然后我们需要连接装好电池 啊,在之前有一步就是我们需要连接维度的时候,我们必须要装一个 skrich 令壳是吧?当然老式电脑已经装好了,这个我们就不做演示。接下来我们我们连接蓝牙之前,我们需要打开,我们有一个 siri gucel, 然后发现我们此刻传奇定格已经打开了,之后我们在蓝牙里,是吧? 打开蓝牙,然后按动我们这个电池盒上面这个小对点,然后, 好,我们现在点击搜索是吧,发现我们的这个小蓝灯一直常亮,就说明我们电脑已经和我们的乐高主机电池和是不是已经连接上了,然后我们点击返回编辑器, 是不是我们就能看到有很多的这些积木找本是不是在我们的微度二点零米?好,我们首先看一下第一个是吧开启马达疫苗,什么是马达呀?是不是就他呀? 了解过学维维度的,是不是小朋友非常清楚,以前我们是不是可以用乐高提供的那个温度控制啊?现在我们也可以用 sky 的控制是不是?当然我们 sky 使的功能更多 多一点,就是他可以和别的程序做一起,是不是配合一起做更多的应用,是吧?好,我们可以把马达接在我们程序的主主机的一个接口上,比如说我们做一个 查看粥。 好,我们这有两个接口,我们这两个接口可以接什么呀?可以接一个马达,或者可以接两个马达同时接,是不是? 然后还可以接一个距离传感器,一个倾斜传感器。 ok, 距离传感器是不是他只有两个传感器?小眼睛似的,倾斜传感器 是不是相当于咱们看有两个箭头,是不是这几遍? ok, 好,比如说我们先把我们看一下这有几个参数啊?开启马达几秒钟是不是?我们看马达有什么选项?有马达,马达 a, 马达 b, 所有马达, 我们这个温度是不是最多接两个马达呀?因此我们是不是马达和所有马达是不是一样的?我们试一试。好,我们把两个马达都接上, 不方便查看,我们现在用两个,用两个轴吧, 是,明天一个。 好,我们现在是不是接了两个马达?我们分别试一下开启马达一秒钟会怎么样?是不是?我发现我们的两个马达是不是同时都在转? 好了,那我们试一下马达 a, 开启一秒是不是只有咱们这个马达转,这个马达不转,咱们再看开启马达 b 一秒, 是不是这个转,这个就不转。我们之后再看开启所有马达一秒是不是开启所有马达,是不是和开启马达是一样的呀? ok, 这个是没有疑问,对不对?好,我们接下来这里还有两个什么呀? 开启马达和关闭马达,他两个号是不是刚好相反呀?他的选择是不是也有马达,马达 a、 马达 b 和所有马达四个选项, 那我们就很清楚了,是不是?比如说我同时让开启马达 a, 马达 b, 是吧?过一秒钟等待一秒钟再让他关闭,是不是可以? 三秒钟、五秒钟、十秒钟,是不是都可以啊?时间 好,是不是? 我们接下来看一下。这还有什么呀?马达的功率,马达的功率什么意思呀?这个是不是相当于我们这个马达他有固定的功率,什么意思呢?就是百分之百,他能以这个马达最大的这个力量去运行, 是吧?比如说我现在先让他射成十,我们让他开启啊,看看啊, 是不是我现在都比较重,他都有点动,动不起来,是不是 功率?比如说我射成三十,我看现在怎么咱们看现在转的是不是? 哎呀,我电池电不多了,换个换个电池 啊, 首先给他安装上 好,重新连接上。 好,我们现在比如说把马达功率给他设为十,是吧?下次我们再装上,再知道 看我们马达能不能转起来,不行发出照报警声,是不是说明我们马达功率是有点小,他转不起来, 那我们把它马上给他射到一百,我们试试看,毫不疑惑,没有问题,对不对? 那么我们现在给他设到五十,你看一下 是不是转速就会变慢了, 我们能瘦到二十,发现是不是二十,我们转的已经很慢了, 是不是我们手轻微一挡就能给他控制住?如果我们给他射到一百,我们试试看啊,是不是发现他的劲是不是很大, 对不对?这就是我们马达功率的事,就比如说我们上坡一样,是不是用汽车上坡,如果我们加的油多,是不是他就能跑得快?比如我们加的油少, 是不是上坡就比较跑的慢,是不是? 好了,这是我们马达一个公寓的问题, 我们可以说理解为马达,他的力量大与力量小。好,咱们接着再看一下下一个将马达转向设备。什么呀?咱们可以大一点 将马达转向设备。什么顺时针,逆时针反向,这什么意思啊?我们先看一下顺时针 是不都顺时针转呢?好,我们再改一下逆时针, 是不是啊? 那我们在一个反向,什么意思啊?我们先看一下啊,先是正顺时针的,再点一下又逆时针,是吧?我们再点一下他是不是又顺时针。 好了,我们就知道这个顺时针,逆时针反向,这他们三选项是什么区别?是不是啊? ok, 接着咱们再看一下啊,将灯光的颜色设为多少?这什么意思啊?我们的维度,主机上是不是有一个小蓝灯,是吧?是 led 灯,他的颜色是设为什么呀?我们看一下我们, 你以前是不是学过颜色啊?包括画笔的时候,是不是?我们看一下把画笔模块加上,我们看一下这个颜色,是不是啊? 我们的颜色值先把这个调亮啊,零是不到一百,我们这个灯光颜色和他这个颜色是对应的,比如说我们调到零,我们看一下我们的这个 led 灯会不会变红, 是不是变红了?好,咱们比如说给他调到黄色,这是十九是吧? ok, 我们再看一下,把它调到这个蓝色是吧?青蓝色,这多少?五十二, 但他这两不用勉强,没有关系啊。我说啊,是不是蓝色,咱们这个调到紫色是吧?八十六,八十六,是不是? 然后接下来我们看一下,接下来还有一个,当距离小于多少的时候,这是什么意思呀?这个时候是不是我们需要用我们的什么的呀?距离传感器啊,是吧?好,我们现在取掉一个马达,我们安装上一个距离传感器, 好,我们现在比如说把这个安装在我们这个头上,是吧?电池和头上,好,我们先 现在首先我们看一下他底下有一个距离,这个距离是最大是多少?最小是多少,我们可以看一下。 好,我们需要一个重复执行,然后让我们的四个帅气小猫说出我们的距离 数值就这么大啊? ok, 咱们看一下一百, 是不是当我们手距离近的时候,他是不是逐渐的缩小?在一百的时候差不多也就是离我们的这个传感器的距离差不多十厘米, ok, 咱们当越接近的时候 值越少,是不是?那我们可不可以让这样让我们的 这个距离是吧?当距离小于, 当距离小于一百的时候,我们让这个马达 转一秒钟,好,是不是啊? 你看 是不是啊? 好,那我们下来这是不是还有一个距离? 我们利用这个距离是不是可以做更多的时间, 对吧?我们可以加上一个判断,当距离,比如说大于五十,是吧? 比如说并且这个距离他要小于一百的时候, 如果在这个条件下,我们让马达转五秒钟,是吧? 否则我不让马达转,是不是?我们现在看我直接把手放在跟前,他抓不住,嗯? 他是不是不动?当我们手离开一点的时候,他是不是开始动?马到现在这个时候开始转,当我们再离远的时候是不是不转呢?当我们离近的时候, 我们现在的距离是不是七十他在动,六十是不是三十?二十十他是不是就不动了?是不是我们所在一开始他距离超 五十的时候,他是不是少于一百他就开始动了? ok, 我们是不是可以利用他这个参数?是不是我们可以设计我们的应用程序,是吧?比如说我们做一个自动那个 跟车的一个小程序,是不是我们现在的车是不是都会自动跟车?比如说前面的车距离有多远的时候,我们让车正常走是吧?当前面车离得近的时候,我们车自动刹停,我们是不是可以做这么一个乐高,搭建一个这么个,呃,小车,是不是? 这个我们下一点可以做一下。 ok, 我们接下来再看一下下边的一个程序,是吧? 下面是什么呀?我们的方向是不是就需要用到我们的清洁传感器了,是吧?我们看一下。 好,我们现在把它扯完。 好,我们先看一下能清洁传感器的这个 数值,是吧?我们看一下他有有几个呀?有几个选项? 重复这边这里有多少个向上的倾角,向下左右的倾角。哈, 好,我们先给他放下,先给他放下是吧?我们先让他说我们现在水平 零,是吧?接着这是我们的头是吧?我们连接线这一边,我们把它当做尾,我们抬头 看看,当我们抬头是不是我们的新鲜感是不是变大?最大是多少度啊?发现了吗?最大是四十五度是吧? 当咱们能能不能倾斜到九十度,是不是咱们最大到四十五度倾斜啊? ok, 好,那我们现在头朝下呢?是不是我们的数就会变成负了?最大最少变成负的四十五,是不是? 我们在现在向上向下是不是可以啊?那我们向左向右他有没有影响啊? 他是没有影响的,是不是当咱们动的时候不是太平,所以说 他也许会变一点,但数字比较少啊?咱们再看上下的时候,上下的时候是不是我上下就变成正数,向上就变成负数? 好了,那说明我们向上跟上下层刚好相反,向上的时候向上正数,向下负数,我们调成上下的上下的正数,向上的负数是不是? 那我们调成左右,是不是我们现在看一下?比如说我们左右,我们现在往左倾的时候,是不是这又是正负啊? 最大四十五,我们往右倾的时候,是不是他就变成一个副手,是吧?我们可以加一个他们看一下啊。 向左倾的时候它变成正数,是吧?向右倾的时候它变成负数,那我现在调成 上右了,是不是上右是正处,上左是负数,是不是我们再给他加一个? 我们看向上向上是不是正数?向下变成负数,最大角度是多少啊?是四十五度。 ok, 咱们记住, 接着我们可以是不是利用他的一个倾斜,是不是也可以获取到我们传感器的数据?是不是可以和我们的应用连接起来? 倾斜是不是和我们的这个距离是不是非常相似?但是这一块他有一个向任何方向倾斜,向上 上听一下好吗?如果我们听起来他就是真是不是?那我们上下呢?他是不是就是假?任意方向听一下 很很容易成立?上,除非你摆的特别平,是不是他才不会倾斜? ok, 然后这个咱们下节课咱们做一个综合案例,咱们今天内容主要是介绍一下我们 spa 是连接我们的微度,还有我们这些角种是什么意思, 咱们下一节课详细做一个案例。好,今天的内容就到这里,谢谢大家。大家如果喜欢我视频的话,记得记得给我点赞和关注哦,谢谢大家。

好,各位同学,那我们接下来来学习一下我们讲的这节课啊,七彩钢琴,那么我们说这个钢琴大家都知道是一种乐曲,对吧?乐器 他在我们这些模块中显然是没有的,那他的位置在哪啊?是在我们那个拓展中,我们这里有一个叫做音乐的模块, 把它点进来之后,我们发现,哎,这里有很多哎,关于音符啊,或者说这个乐器选择的一些代码,我们可以看到这个地方,我们今天做的是钢琴嘛,所以我们把这个 东西啊,乐器选择设定为钢琴,一会我们会在他下面啊写一些代码。好,那新来说这个按键跟背景的事情啊,我们把这个背景,然后 找一个自己喜欢的,比如说是这个舞台,让小猫咪不要通过绘制,我们选择矩形,没有边框,这都是我们之前的常规操作。黑白键嘛,黑白键的话调黑, 然后拉一个矩形出来看,这样就可以了,给他放他的中间。 好,那这个角色我们可以把它放到这边,并且呢是通过代码去给他固定他的位置, 防止他乱跑啊,一点点他们要回过来。那么黑白键,黑白键,黑键有了 啊,白线还没有,对吧?我们复制一个,现在你看他的名字变成了角色二,是吗?我们可以把这个地方,直接把这个地方改成按一按二啊,这种阿拉伯数四去规范他的一个命名,那角色二呢?我们给他换成白颜色 调整一下,这样的话你黑白键也就做出来了。那第二个按键呢?我们是跟他的位置相同的,只不过是这个稍微向右移动了一些,所以我们得代码吧,你看这个地方 完全触碰在一起,那我们现在向右移动一点,我们要让他外坐标增大,那这样他就往右边走了,一 不够啊,我们再来一次拜,又来了一些,再来 给他们差不多同样的距离啊,这个地方我们俩规定一百八,好,然后给他再缩小一点,一百二, 这个距离差不多。有时候他们每个人之间差的 x 轴是参数,是六十,对吧?一百八减去一百八,减去一百二等于六十,差的是这个间距。那第三个角色呢?同样呢是黑箭, 这个地方是一百二,咱们这地方差六十的话就六十,哎,第三个他就去到他这个适合他的位置, 这个新来的这就是零。然后第五个还是黑键 正六十的,可以把这个缩小一些。然后第六个呢又是摆件一百二, 第七个呢又是黑键 一百二加六十,一百八,正数一百八。你这样的话通过一个简单预算,我们就可以把这个七个按键给他平均的放到我们的屏幕上面。好,那 刚说我们说这个主题是七彩钢琴,他除了这个黑颜色和白颜色之外,我们再给他复制一个另一个造型,把这个另一个造型啊,应该换一个其他颜色。 七彩吗?赤橙黄绿青蓝紫,随便来几个颜色,然后做区分。那他第二个造型就是这个颜色,默认的话是一造型,按下的时候,你然后换颜色就可以了, 复制一个改一个这个红色吧。 第三个这边也是复制一个改一个颜色,给他来一个差不多这个颜色青色的。 第四个造型里复制一个 来个紫色造型换回来。好,还有最后两个,还有最后三个, 这里放个绿色换成自己的造型,这边的也是 是蓝色,来一个,然后最后一个我们给他复制颜色选择, 来个这个亮黄色。好,那现在他每个造型,每个造型他都有了属于自己的颜色,对吧?那我们接下来啊,怎么进进行进行这个写代码呢?七个角色,每个角色 有代码都是有相同的地方跟不同的地方。那比如说我们第一个这个按键,我们可以给他一个,什么意思?哆啦咪发搜拉西中呢 都,我们听听这个声音, 明显的是这个就是七,到这为为止是斗兰梅发素拉稀,那我们第一个声音应该就是斗,对吧?我们通过按键一, 按键一来给他切换造型以及播放声音,那怎么办?我们先要用到 判断,对吧?如果你按下什么键,比如说我们数字键一, 你就干什么呀?播放声音,然后干什么呀?你还得换人家的造型吧,对吧?换成造型啊, 换完之后呢,你还得回来再换成造型。期间呢,我们要给他一个等待时间, 比如说零点一秒,我们试一下,如果减少等待时间变得比较长,我们可以把这个地方餐食调大 好,这个呢是一个的代码,那剩下的啊,其实都是差不多的, 我们需要通过这个逻辑关系把他们都捋清楚啊。先拿第一个举例子,第一步当小利息被点击,他相当于一个开始按钮,让他接下来干什么呢?移动到我们的固定位置,也就是他现在所在的位置, 接下来重复执行,他一直要寻执行的代码。什么呀?一直要去检查你是不是按下了数字意见,如果按下了他就执行里头代码。那里头代码什么呀?演奏就是 音符啊,都这个音调,然后换成他第二个,因为他是七彩色的嘛,你做的多了他就好看了。 其次呢,你等待个零点五秒是为了让他在这个造型能保持零点五秒,如果你要 时间长一点,然后我点个五秒,在这五秒之内他都是这个造型。二,把这五秒之后执行完之后,他再回到造型,一一二三四五。 好, 那第一个呢?我们是不是按照这个思路进行完成的?第二个大家可以自己来完成啊?那第二个,嗯,我们把它写完之后,通过我们课上的演示, 我们可以现在实现两个造型的切换。两个角色之间的什么切换了呀?按键以及音符,还有我们造型的切换,剩下的三 三四五,我相信你自己能做出来一个之后其余的是不是都跟他一样的呀?那剩下的我们就自己完成就可以了。好了,那这节课我们就先到这里。

哈喽,大家好,很高兴和大家一起分享和学习少儿编程。在上个视频当中呢,我用这个史科拉记编写了两段小程序来播放两首儿歌。在这个视频当中,我们来来分享一下这个编程的过程。利用这个编程的编写歌曲呢,主要用的是一个音乐模块,那么首先需要在这个地方扩展添加,这里 添加一个音乐模块,我们首先点这音乐添加,添加之后会发现会在这个地方会出现相应的所用到的一些音乐模块。我们首先来简单的讲一下这几个音乐模块,那么第一个模块啊,就是选择不同的打击乐器 啊,可以选择不同的打击乐器来增加一个音乐的效果,这是第一个,那么第二个模块呢,就是一个休止模块,那在音乐当中进行一个暂停简谱当中的休止符就需要利用到我们这里的休止模块,然后这里有个演奏音符啊,这是做一个重点去讲解,然后这个将 乐器设定为这个模块呢,就是选择不同的乐器,在你演奏的时候,我以不同乐器发出的声音,然后这里有个演奏速度,演奏速度他这地方的单位是每分钟多少拍,如果这里写六十的话,就是每分钟六十拍, 这个数字越大,然后他的一个播放速度也就越快,这是上学歌的一个简谱,我们知道歌曲的歌曲的演奏,其实就是在随着时间按照顺序一个一个的去演奏这对应的一个音符啊,所以我们这里重点讲的是这个 演奏音符这个模块,我们用鼠标点击一下这个演奏音符,这里的数字六十,那么他这里会弹出一个类似于钢琴按键的一个界面, 那接下来我们说讲到了啊,大部分都是一些阅历上的知识,对于阅历知识有了解的啊朋友们呢?啊,可以加快播放速度啊,在这里我是做简单的 介绍,我们可以看到这里有不同的按键,有白色的按键,有黑色的按键,那么这些按键都是可用鼠标去点击的,当你点击不同按键的时候,他会发出对应的一个音调的声音。嗯,这是我刚才按的十几个白色按键,我们现在来按一下黑色的按键 啊,按下不同的按键,他会播放不同的声音,那就像我们按下钢琴上面的键盘所发出的声音一样,那么这个 按下这里的对应按键也会发出声音。我们还可以看到这每个键盘上面都对应的不同的字母,这第一个键盘上面对应的字母是 c, 第二个呢对应的是 d, 第三个白色键盘对应的是一,第四个白色键盘对应的是 f, 称为 g、 a、 b。 那么这个 cd efgab 呢,就代表我们这个按键这个不同音的音名,这七个音的音名,那么这个 五个黑色按键也有不同的英名,那么第一个黑色按键他的英名是 c 生,一个 c, 然后后面是一个井号,那么这井号在这里称为生号啊,这个称为生号 c 生,然后这个第二个黑色按键有一个像一个小写的字母 b 一样的称为将号, 那是个什么意思呢?这个 c 医生就是说这个音比这个 c 的音要高一些啊,因为我们在键盘上面从左往右,他的音是逐渐变高的,我们这个黑色的按键,这个这个黑键在这个白键的右边,所以这个 c c 声的音比这个 c 的音要高,同时呢,它是在这个 d 的左边,属于这个 c 声比 d 的音要低啊,它在这个 c 声在 c 和 d 的音的中间啊,称为 c 声这个键。然后同样的道理,这个第二个黑键呢,它称为一将,因为第三个键 白键是一,他在一的左边,所以称为一将。那么同样到底,那么这个黑键称为 cf, 因为他在 f 的右边成为 cf, 这个是在机的右边,称为生计。那这个呢, 是在 b 的左边啊,称为将将 b 或者是 b 将,那么这个生号或者将号写在字母的左边右边就是可以的。 像这样的一组黑白按键,在钢琴上面还有很多很多,比如我们这里有一个向右的箭头点一下,我们发现这里会显示另外一组按键,然后再再点一下右边呢,又会显示另外一组按键越靠右边,他的音是越高的, 我发现越靠右边他的音是越高的,然后我现在到左边,越靠近左边呢,他的音是越低的,是越低的啊,所以这个和我们 钢琴上的键盘啊,是一样的,我们一般称这样一个 cdfgab, 加上这里的升 c、 降一、升 f、 升 g 和升 b, 这么这十二个按键作为一组,为了方便讲解呢,我在这里只展示了三组按键 啊,那每一组按键他对应的应的名称都是一样的,比如说这里的七个白键,他名称是 cd ef gab 上面的黑键啊,就是升 c、 降一、 升 f、 升级和降 b, 那么这边一组按键啊,和它是一模一样的,英明都是一模一样的,那么虽然英明是一样,但是它的音高是不同的, 一起来越靠近右边,嗯,越靠近右边,他的音高是逐渐是逐渐变高的。在这个简谱当中,我们用这个数字来表示他的不同的音符,那么这个数字和 这个上面的这一个英名是如何一对应的呢?简谱当中分别是用一二、三、四、五、六、七来进行做一个标记,那么这个一二三四、五、六、七分别对应的唱名就是多人咪发收纳西,这是一对应的,一代表的是多, 二代表的是 v, 三代表的是咪,四代表的是发,五代表的收,六代表拉,七代表吸,那么这是一定是一一绑定的啊。那么这个一二三四五六七和 cd efgab 是如何对应起来的呢?啊?这个要看不同的情况, 比如说这首歌曲当中,他这里写的一等于 c 啊,这是一个调号,这个一等于 c 啊,这首歌是一个 c 大调的曲子,那么如果是 c 大调的曲子的话,就是一二三四、五六七和 c、 d、 e、 f、 g、 a、 b 是一一对应起来的,也就是说 c 这里 对应的是一, d 对应的是二,一对应的三, f 对应的是四,这是五、六、七,那么这里的 c 呢?也是一,只不过这个地方的音,这个地方的 c 的音比他比这个地方 c 的音要高高多少呢?高一个八度,那怎么去表示呢?在这个一的上面,我们用一个小黑点, 用一个小黑点啊就表示高八度的音,那这样同样这个地方也是二,对不对?这是三,这是四啊,这个地方是五,这个地方是六,这个地方也是七啊。这里的 cd 页附近 agab 对应的一二三四五六七也是这样对应的,只不过这边的音比这边音要高,高都是对应的音都要高八度,所以这上面都要加上小黑点啊,这样来表示他的音要高一些啊,但是他的左边呢,这个地方也是一二三四 五六七,如果这边的音比这边的音要低一些,低一个八度,所以他的他的低音点是在数字的下边啊,这表示低音点啊,每个地方都有个低音点 啊,这样去表示啊,这个是高一点,这个是低一点啊,这是我们的一个英明啊,这个这个 c、 d、 e、 f、 g、 a d, 就称我们的英明啊。然后朵莲秘方苏勒西就称我们的倡明。 在 c 大调当中,这是这样一一对应的关系。这个地方表示他这是一个拍号啊,这是一个拍号, 他是以四分音符为一拍,每小节有两拍。这个地方就需要我们了解一下什么叫四分音符。这个叉表示我们一二三四五六七当中的任何一个数字啊,这个就表示一个四分音符。如果以四分音符为一拍的话,那么叉就表示一拍。 如果在这个数字后面加上一个横线,那么他就表示一个二分音符,那么他就是两拍。如果像后面这个数字后面有三根横线呢?表示一个全音符 总共有四拍。如果这个横线在这个数值下方,表示八分音符,它是半拍。如果有两根横线,表示十六分音符,它是四分音拍。我们可以发现在不同的音符之间,它是一个两倍的关系 啊,是个两倍的关系。我们可以看到这个地方他就是一个八分音符,这里是个八分音符啊,八分音符他是零点五拍吗?以四分音符为拍,那么这个地方他就是零点五拍, 这个是这个地方是八分音符,就零点五拍,这里也是八分音符,零点五拍,两个加起来就是一拍啊,这个地方也是个八分音符,零点五拍,这里是个八分音符,零点五拍,两个加起来就是一拍,所以这四个音符加起来啊 就是两拍,然后这个竖线就是我们的小节线,所以这个地方这是一小节,这是第一小节,他就是两拍。我们看到这是一个二分音符,他就是一个两拍。当然这里还有一个,还有一个速度中速,呃,中速的话我们一般把它调整到 啊,六十到一百二之间啊,就可以了,六十到一百二之间就可以了,我们调整他的中速啊,看懂了这个简谱之后的话,我们再写程序起来,这样就非常简单的啊。首先我们将这个演奏乐器,演奏乐器设定为钢琴,然后将他的一个 速度啊,我们把它设定为一百二啊,设定为一百二,因为他这首乐曲表现的比较欢快,所以说他的节奏会比较快一点,我们把这个速度设定为一百二,接下来我们就开始一个一个的来演奏他的音符了。 我们看一下,这里是一二三幺啊,一二三一对应的就是 cd 一 c, 所以我们首先拖四个模块出来,一二三一跟着 cdc。 如果我们这个地方选择 c 啊,然后下面一个就选择这个 c, 后面这个 d 一,然后这地方就是 c, 是吧?然后他的拍数是多少拍呢?我们看来讲呢,这个是一个八分音符,是零点五拍,所以这四个都是八分音符,都是零点五拍,所以这个拍数这里都是选零点五拍, 零点五拍,零点五拍啊。那么在音乐当中呢,这个拍他只是一个音符的一个持续时间,比如说你的演奏速度是一分钟六十拍,那么一拍他所的所占用的时间就 一秒,那么拍他是一个音符的一个持续时间长度的一个单位啊,然后接下来就是一个五五,就对应的这里的记,我再拖一个演奏音符,然后这个地方就是,嗯,记,然后他是一个二分音符,所以这里是两拍。 我们的程序就是从上往下去运行啊,就是一步一步的去播放模块,这个和我们演奏乐曲是一样的,我们演奏乐曲就是从这边往,从左边往右边去,一步一步的 啊,是一个音符一个音符的去,一个音符,一个音符的去播放,那我们的程序呢,也是从上往下一个音符一个音符的去播放啊,就这样来演奏我们这个乐曲,我们用鼠标点一下这个程序,那么这段程序就会运行一次,点了试一下, 我们来点击这个程序啊,所以说我们知道了这一个简单的对应关系之后,那么接下来程序 起来就非常简单了。需要注意的是这个地方啊,有一个高音部分啊,有个高音啊,就是一个 c 啊,这个地方一也是 c, 只不过它是高音的 c, 那么这个高音的 c 怎么表示呢?就是用我们这个地方的 这个地方的 c 来表示啊,这个是 c 六十啊,这个是 c 七十二,那么这个 c 比这个 c 的音要高,所以选择这个 c 啊,这就是我们后面需要注意的地方,这个是个高音的 c 啊,高一个八度音的 c 啊,高一个八度音的 c 选择这个 啊。其实这个地方呢,还有一个问题,就是说一等于 c, 对吧?我们刚才讲的这个一等于 c, 但是在我们的键盘当中他有很多 c 啊,你看这个 c 六是这个地方是个 c, 然后这个 c 七是二,这个地方也是个 c, c 四十八,这个地方也是一个 c, 那么这个一等于 c 到底是等于哪个 c 呢啊?其实都是可以的,比如说当一等于 c 是等于这个 c 的时候,他们对应的是二、三、四、五、六、七,就是在这一这一组 当中,如果一等于是这个 c, 那么二、三、四、五、六、七也就在这一组当中,那么不同,那么不同的 c 就决定了我们这首歌的一个整体的音调。如果你的一等于 c 在这个这一组当中,那么他的音就相对处于中等的状态, 如果你的一等于 c 在这里的话,那么他的音就相对要偏高一些啊。接下来我们来看一下第二首曲子,第二首曲子的话,我们可以看到第二首曲子有个很大的区别,这里是一等于 f, 这里写的是个一等于 f, 因为这首曲子我看是不是个 f 调啊? f 大调的一首曲子,那么当一等于 f 的时候,那么他的对应关系一二、三、四、五、六、七,他的对应关系是这样子的,一对应的是 f, 二对应的是 g, 三对应的是 a, 四对应的是降 b, 五对应的是 c, 六对应的 d, 七对应的是一,然后我把这个对应关系在这个图当中这样 去标印标出来了,你看这个一对应是 f, f 对应的是这个键,那如果 f 对应的是呃,这一组当中的这个 f 的话,那么二对应是 g, 就是这个 g, 那三对应是 a, 那四对应是 b, 我们可以看到前面这几个音是逐渐变高的 啊,从从左边往右边是逐渐变高的,然后这个五对应的 c 也一定要注意对应的是这个 c 啊,不能,能不能对应这个 c 呢? 能不能对应这个 c 呢?这个 c 是不行的,因为我们是往右边是中,因为前面他是一个上行的过程,音调是变高的,所以说他这个 c 肯定是在他的右边的,这个 c 不能在中途又突然又降低了, 所以这个五,这个 c 他是在这里,然后六对应的 d 是这个 d 啊,七对应的意是这个意,然后在这里右个 f 啊对应的是这个 f, 那么这个 f 那比这个 f 啊就高一个八度音啊,就是这样一对应的关系。当然除了我们上学歌这首谱子一等于 c 和好妈妈这首谱子一等于 f 之外,还一还可以等于什么呀? 那就说一等于 cd, efg、 a、 b 啊,都是可以的,一等于不同的,这一个英语的话,他把他的对应关系也就是不同的啊,这里有个表格 啊,这也是阅历知识一部分,那这里我只是念出来了啊,没有教大家如何去推理他对阅历感兴趣的同学的可以咨询,可以咨询一等 if, 我们刚才做的对应关系也讲解了,接下来看一下,这里有个一四风音符,我一拍,每小件两拍, 然后这边这是一个八分音符,他有零点五拍,然后这两个呢?是一个十六分音符,各占,这个是个十六分音符,是零点二五拍,这也是一个零点二五拍,那么这个加在一起,这是零点五。两个零点二五加在一起就是一拍,那这是一个 八分音符,零点五,这是一个八分音符,零点五。两个加在一起是一拍,这里一拍,这里一拍,加在一起是两拍啊,这个地方也是个两拍,这里这个零表示一个休止符,零表示一个休止符啊。了解了我们这一个数字和字母的对应关系之后, 以及他的一个节奏之后,我们再在程序当中来做一个演示,我们看一下,这里是三三五,对应的是三三五,对应的是 a、 ac, 对吧?或者我们首先拖三个模块出来,然后分别对应的是 a、 ac, 我们就看这一组的 a, 那这是 a 啊, a, c 啊,一定要注意是这个 c 啊,不能是这个 c 啊, c, 七十二啊, a, c。 我们来看一下他的一个胎数,这个是零点五拍,然后两个零点二五拍,这个是零点五拍,他是一个八分音符,后面是 两个十六分音符啊,就是零点二五拍。然后再看一下,这个是二二二二,就是 gg 啊,两个两个 g, 再戳两个音符出来啊,两个 g 分别是零点五拍,零点五拍啊,零点五拍。来看一下,这个一一对应的是 f, 还有个休止符,这个 f, 这个一是 f, 他对应的是一拍,是吧?再来一个, 然后他对的是 f, 然后他是一拍,然后后面有个休止符,就是一个休止啊,就是一个休止,然后他对应的是一拍啊,那这样我们就完成了前面两小节的一个编程啊,这样我们就完 完成了这前面这两个小节啊,这是第一小节,这是第二小节,完成了先前面这两个小节的编程过程。好,我们来演示一下点击, 那么后面的这一个编程过程我就不演示了啊,其实掌握了这一个,嗯,方法之后的话,后面写起来就非常简单的,就是不停的往下面去增加其他的演奏音符就可以了,然后将他的一个演奏音符和拍书进行一个修改就可以了。 但是在这里需要说明是有两个地方,一个啊,这里有个低音六,六是在 d 这个地方啊,在 f 大调中,在 f 大调当中,这个六对应的是 d, 那么这个低音的六对应的哪个地方呢? 我刚才看到又对应的是这个地方的 d, 对吧?然后六,第一个八度音的六呢?第一个八度音的六的话,就对应的是这个地方的地啊,对应的是这个地方的地,所以我们这个地方要选择这个地,这个五,这个地方一个低音 五,那这个低音五的话,那么对应的这个 c 五对应的这个 c, 那么低音的我要多一个要对应的这个地方。哎,还需要讲到一点是这里有一个副点,这个三点,然后下面一个横线, 这,这是一个八,这是一个八分音符,八分音符后面有一个附点,那么这是什么意思呢?我们知道八分音符,这个八分音符它是零点五拍,零点五拍,那么加上一个附点就表示我们前面这个音符的二分之一,然后这个再加上这个零点五拍的二分之一,就零点五的一半,就是零点二五, 那么他总共的时长就是零点零点七五拍啊,就是零点七五拍,嗯,所以说这个就表示零点七五拍。如果是一个四分音符加上一个负点呢,那么四分音符他是一拍,然后加上这个负点,就是前面这个音符的一半,就是一加上零点五 啊,就是等于一点五拍啊,是这样子的,所以在这个地方他啊就是一个零点七五拍,他是一个什么呀?他是十六分音符零点五,这两个加在一起就是一拍,在这里需要注意一下其他的,嗯,就就都比较简单了, 我就不演示了啊。今天这个视频呢,讲解的,呃,大部分都是一些阅历上的知识啊,对编程上的知识的话没有太多啊,就是一个从上往下执行,一步步的去播放每一个音符啊,就构成了我们这一个呃,乐曲的过程,演奏乐曲的过程。 嗯,在视频的最后呢,我将这两个程序给他展示一下啊,那么左边的这个程序啊,就是上学歌,那么右边的这个程序呢?嗯,就是我们的一个好妈妈啊,编程不是很难啊,主要是就是要需要仔细 记一点,不要将这个音符和这个拍数搞错了,如果搞错的话,他中间就会出现,就会很别扭,那么在这里我们就不再演示了, 那今天我们就先分享到这里啊,如果大家对这个阅历知识感兴趣的话啊,可以抽空可以自学一下,你可以在评论区里面留言,我们相互讨论一下啊,感谢大家的观看,下个视频再见。

scratch 编程基础入门教程第二期在上一个视频,我们已经对 scratch 有个大致的印象了,知道了 scratch 是通过积木拼单的方式来给舞台上的角色设计行为运动的脚本, 所以也就明确了一个方向。对于初学者来说,这个阶段最重要的任务呢,就是熟悉这大概一百个积木都有什么作用。今天我们来随手做个猫抓耗子的小案例,先给大家看一下成品的效果。 点击绿棋启动,老鼠会突然出现在舞台上的某个位置,停留一会呢,又立刻换位置。我们的小猫是用键盘上的箭头按键来控制的,可以上下左右的移动去抓这个老鼠, 一旦碰到老鼠就会发出猫叫。下面开始编码,先把这个默认的小猫角色删除,我不想用这个角色了,在角色列表里选中它,然后点击鼠标右键选删除就可以了。新建两个角色都用 scratch 默认的就可以了。先选个猫, 选一个我们从头顶视角看过去的猫,再新建一个老鼠角色,我们可以从角色列表里看到他们的名字,一个是 kat 二,一个是貌似一,这个名字是可以在这个位置修改的,现在这是他们的默认名字。先来解决老鼠的编码吧。 老鼠的运动特点呢,是突然出现在一个不确定的位置,等上一小会有更换位置,我们来运动类的积木里找一找,看看有没有能够实现这个功能的积木。 第一个是移动十步,这个我们之前用过啊,他可以让老鼠向前移动,但是这只能走直线啊。接下来两个是左右旋转,也不是我们现在需要的,在下边这个写着移到随机位置,我们把它拖到脚本区试一下,点击执行一下。 老鼠移动了一个位置,再点击呢,又去到了另一个位置,这两个位置都没什么规律,那这个情况就明白了,一旦随机位置 就是移动到一个不确定的位置上去,这正是我们需要的。有的同学说了,那我给他加上绿奇几目,回头一点击绿奇,这老鼠的功能,他不就完成了吗?啊,来看看是不是这么回事。绿奇点了,老鼠动了,但是怎么只动了一下呢? 因为这一串代码执行完一次就结束了,想要再执行呢,就得重新触发他。可是我们也不能一直点绿棋, 我们希望的是点击一次练习之后呢,老鼠是重复不断的移动的,继续来左边的积木区里找答案,在控制类节目里找一找。刚才说了,老鼠要重复不断移动,那这写着呢? 一个写着重复执行十次,一个写着重复执行,含义很明确啊,第一个就是重复执行十次,然后停止,第二个没显示数,那就是一直执行,永不停止,除非你点的停止按钮。我们要的就是他一直不停的跑, 所以把重复执行积木拖过来,用他的大嘴把这个移到随机位置包起来。这回老鼠的功能应该行了吧,行不行的试过就知道, 老鼠确实不停的切换位置,但是这个有点太快了,这一般猫是逮不住的,能不能慢一点,换完位置先等一等,再去下一个位置,那答案必须是可以的。控制类的第一个节目就是等待一秒,那这个节目有啥用呢?试试就知道,把它加入到重复执行里, 这时候点击绿奇再来看看,这就舒服多了。老鼠每到一个位置呢,就等待上一秒,再去下一个位置, 这个具体等多少时间是可以调的。 squat 积木中白圈里的数字都是可以修改的,老手搞定了,现在来给小猫编码。首先是移动的控制,我们要用上 向左右按键来控制小猫的上下左右移动,那怎么跟按键联系起来呢?看这里,事件类题目有一个,当按下空格键,注意这里有一个小三角,这是下拉框的标志,凡是出现这样的小三角,就说明这里点开之后有可选择的内容。 我们选择一个向上的箭头,当按下上箭头的时候,他下边的代码就会直行。按上箭头,我们是想让他向上移动, 这移动我们熟啊。运动类第一个节目就是移动,但是我们看一下,现在这个移动直行的时候是向右走的,他也不向上啊, 那是因为 surprise 里一个角色加入进来之后,默认的方向就是向右的,在角色的基本信息里就能体现出来,九十度就是向右,但是没关系,角色的方向呢,我们是可以随意控制的。运动节目里有一个面向 九十方向的积木块,这里是白圈数字,说明他是可以更改的,而且方向值可以直接输入,也可以在圆盘上用鼠标来修改,很方便。我们现在是上箭头,那就把方向调整到朝上, 把这个积木跟移动积木组合起来,先调整方向再移动,现在按下上箭头,小猫角色就是向上移动了,以此类推,我们可以完成其他三个方向的移动控制。这里我们可以复制代码,选动之后,右键复制就会产生一个一模一样的代码块, 只需要做一些修改就可以了。首先呢是按键近视呢,选择向下的箭头,那相应的方向就应该是向下,按照这个方式把向左和向右移动也分别改好。现在小猫占领的控制下移动起来了,但好像还是少了点什么,差一个音效,没声音,再好的戏 也出不来。按照我们的设计呢,小猫如果碰到了老鼠,那么应该发出一声猫叫。注意我这句话,小猫如果碰到了老鼠,那么应该发出一声猫叫。有的时候真的是会说话,就能编成,我来给你用代码翻译翻译刚才这句话。 控制类积木里边,我们看这个积木块如果怎么怎么样,那么他也是像重复执行那样有个大嘴,而且呢还有一个尖角的空白区域,尖角里需要放入的是一个判断条件,而大嘴里放的呢,就是普通积木了,当判断条件满足的时候,才会执行大嘴里的指令。 我想刚才那句话,如果碰到了老鼠,那么发出猫叫,如果我们有了,碰到老鼠,就是这个条件,猫叫应该是被放在大嘴里的积木。那 surprise 能知道碰没碰到老鼠吗? 位上沿往这看,侦测类积木一堆的尖角形状吧,跟如果后边那个尖角空缺刚好是能对应上的。第一个侦测积木写的是碰到鼠标指针。 还记得我前面说过的话吗?有白色小三角,就是有下拉框,我们点开看看,除了能侦测碰到鼠标,还能侦测碰到舞台边缘。而最下边就是我们的老鼠角色,他的名字就是貌似一这个名字跟角色列表里是一致的, 把这个节目往空圈里一放,当执行这段代码的时候,他就会帮你判断是不是碰到了老鼠,如果碰到了就会执行大嘴里的节目。 那怎么让猫叫呢?往这开声音选项卡 skr 是自带的,角色基本都会有一个自带的声音,我们这个 kt 二角色就自带了猫叫声,当然你也可以自己录一 声音,或者上传一个声音,这个我们以后会用到,然后回来我们是有声音类的积木的播放声音,喵等待播完把它放进如果那茉莉,这样一来,我们之前说的那句话,如果碰到老鼠,那么发出猫叫已经变成一段代码了,我们来实验一下它的效果。 我手工把老鼠和猫放到一起,然后单独执行一下这个代码。猫叫了,因为碰到老鼠这个条件它是符合的,我再把它们分开再执行一次, 这是没有发出声音,因为现在条件是不符合的,这就是如果纳莫积木的作用了,条件符合就执行,不符合就不执行。 那么这段代码我们要放在哪里来执行呢?直接给他加上个绿旗吗?注意,还记得我们刚才给老鼠编码的时候犯的错误吗?绿旗加实际位置,结果老鼠只移动了一次就停止了。 surprise 里的这些基 默默认都是只执行一次就结束了。如果你需要他一直执行或者重复执行特定的次数,那就少不了重复执行积木的帮助。 那么问题来了,我们这一段判断猫叫的代码需要执行几次呢?实际上我并不知道小猫和老鼠什么时候会碰到一起,所以最好能每时每刻都在进行侦测判断,这样就不会遗漏掉他们碰到一起的情况了。那我只能把宠物执行又请出来帮忙了, 把整个如果那么都套进重复执行。而这段代码应该在游戏启动的时候呢就开始,所以他头顶的条件积木是当绿旗被点击。 好了,这回大功告成。今天这个案例呢,虽然没用几行代码,但是涉及到的积木类型还是挺广的,留下一个带探索的问题。今天在寻找积木的时候,相信很多同学都发现了,有些积木长得非常 接近,比如移到随机位置,下边还有一个在一秒内滑行到随机位置播放声音的节目,也有一个长得相似的孪生兄弟, 他们之间有什么相同之处,又有什么区别呢?你自己来找一找。记住, scratch 学习中最重要的理念就是勇于探索。如何学好 scratch, 谜底就在谜面上。 scratch 这个单词直译过来就是刮插划,用我的话说就是你没事多扒拉扒拉这些题目就学会了。

同学们大家好,欢迎来到视觉模块基础课程 scratch 版本的第一节课,本节课的主题是人脸识别,接下来我们来了解一下人脸识别的相关知识。 什么是人脸识别呢?人脸识别是基于人的脸部特征信息进行身份识别的一种生物识别技术,一般是用摄像头或者是摄像机采集还有人脸的图像或者视频流, 并自动在图像中检测和追踪人脸,从而进行监测到人脸的一种进行面部识别的相关技术。人脸识别因此也被称之为面部识别或者人像识别。 在日常生活中,人脸识别基础的应用场景也越来越多了,在银行的 atm 自动取款 机上面也会有摄像头来对应着人脸进行记录,还有很多公司都会安装了人脸识别的打卡机,以及现在地铁站里面可以使用人脸识别来进行支付,禁除闸机, 还有的就是越来越多的智能家居里面使用上了人脸识别的门锁进行解锁。本节课来认识一下视觉模块,它的结构知识以及电路连接。 可以看到图片中这边是视觉模块他的正面和背面,而我们摄像头这里所对应的也是一个三锤二视觉传感器, 可以看到他在他的背面,我们这边安装外壳看不清啊,在背面有 led 灯摄像头这边摄像头伸出来的可以很明显的看到以及 wifi 天线, 还有 sd 卡座以及 k 二幺零处理器。正面的左侧是一个 usb 接口,中间是 lcd 屏幕,在右上角是一个遥感按键,可以进行上下左右拨动和按压。 在左下角这边是一个复位按键,这边有一个小孔,我们可以拿尖的东西进行压一下进行复位。右侧这边就是通讯接口,通讯接口衍生出了四条线,我们可以将它连接到主板上。 在模块外接有四个接口,分别是 v、 g, c 和 d, 以及正负 t 和 r, 因此它是有几种不同的连线方式的,我们可以来看一下,连线的模式是不一样的。 首先来了解一下视觉人脸识别的一个算法,我们现在先将主板进行通电,然后来连接一下电路,电路连接时可以看到我们这边在 视觉模传感器它衍生出来这个线是不带针的,而我们这边的使用的是国产的阿顿诺主板。在右侧这边是包含了 iphone c 接口的,也就是 v c c 之间的 s c l 和 s d a。 本节课使用的视觉传感器就是要连接到 iphone c 接口上,我们可以来连接一下,如果想要按照图片中的这种位置进行连接的话,就是 v 连接到这边的五伏 g 连接到 g n, d, s c l 和 s d a 连接到十三旁边这边的 s c, l 和 s d a 的话,可以使用 这种单个的公共杜邦线将它连接到视觉传感器的这个线上,然后另外一端连接到主板上也是可以的, 那么我们就连接在右侧这边带针的,首先将红色这根 v c c 连接到主板上这边的位,再将黑色的这根线 gnd 连接到他的旁边, g gnd 这边 此时是给视觉传感器进行供电,它就自动开机了,可以看到,喏现在已经开机了。接下来继续连接黄色这根线, t c c 对应这边的 s, c l, 白色这根线 r 杠 d 对应这里的 s d, a。 好,我们电路就连接完成了,可以看到连接好之后,接下来我们来了解一下算法, 人脸识别可以进行配置操作,具体操作我们现在可以看到在屏幕的正上方显示算法是关闭的,刚开机的时候我们可以上上或者上下来拨动这个摇杆,调节算法,看 向下拨动,这时候可以调节到算法显示是到人脸识别。好算法,人脸此时是 显示出人脸识别的算法,接下来我们可以找一张带着人脸的图片, 好,稍等一下啊,我来找张图片, 好,找到之后将它放在这边,然后将摄像头对应的这边的人脸就可以检测到,这时候显示是一个新的人脸检测零,新人脸可以看到, 那么就可以发现他是可以检测到人脸的。现在来看一下人脸识别的一个配置操作。第一步,当检测人脸之后是一个 新的人练时候会显示零,我们垂直短按摇杆就可以进行学习训练,那么我们将摇杆轻轻的点按一下, 好,这时候已经显示了他有一个序号,二 face 二, 那学习之后不再是变成零了,而且变成了一个人脸。当然我们可以删除掉所有的人脸模型,也就是垂直长按这个摇杆两秒以上来长按一秒,两秒松开,显示删除所有的人脸模型,那么我们再一次点, 这时候会显示出它是 e face 一,就显示是是录入了第一个人类模型,可以看到 好,这是一个人脸的录入以及人脸模式的清除操作,接下来来看一下,看到这是没有,训练过的人脸是显示零新人脸,而训练过的人脸就会显示序号,同时是可以识别戴口罩的人脸的。 刚刚我们已经了解过,可以一次性全部删除所有的人脸的操作,那么如果我需要删除特定的人脸,怎么来进行操作呢?可以先将摇杆向右拨动, 拨动之后到了这边的一个算法选择的界面,可以向上拨动到人脸识别, 拨动人脸识别之后点按一下,按一下人脸识别,按下 之后在运行人脸识别右侧这边运行的这里会出现一个蓝色的小框,我们向上点到参数设置,将摇杆向上拨动一下,再点就可以跳出我们屏幕中的这样的一个界面,就是录入着人脸的一个列表, 录入列表之后,此时我可以再一次点,也可以上下看,选择其他的人脸模型,或者我们向右拨动,将蓝色的小框拨动到右侧这边三个图标, 第一个图标是重命名,第二个图标删除这个对应的人脸模型,第三个图标是确认返回,那么我们可以点击重命名,然后这里也会跳出键盘,在键盘上 可以输入不同的字母以及数字,再点击到最右下角的这个小勾就确定了, 需要退出的话,就将这个蓝色的小框拨动到确认返回这边点击按下,确认 好,再向左拨动。我们这个摇杆的操作是向右拨动,他是上下左右是都可以上下左右移动,点按是确定,然后左向左拨动是可以返回的。你看好 电路连接,刚刚已经连接过了,那么我们现在看一下后面程序的编写。本节课的编程任务是需要通过人脸识别来控制主板上他的一个灯光指示灯闪烁。 好看一下程序流程,首先要初始化,声明一下变量,然后初始化引脚,再将人脸识别检测到数量,复制给变量 com, 然后创口打印,并且创口打印和判断人脸识别的标签, 如果满足标签等于一有第一个人类模式的话,就十三号转角高低切换,对应在主板上这个小指示灯闪烁, 并且重复执行。从 i 变量从一直到 ctrl 加一,如果这个这个是小于 ctrl 加一,不包含,也就是从 i 等于一运行的 i 等于 ctrl, 也就只检测到人脸的数量, 如果检测到三个人脸,那就执行三遍,检测到一个人脸就执行一遍。好,接下来来编写程序, 打开这边的一点零点八的图形化编程软件,打开之后我们来看一下,首先将模式改为上传模式,点击一下,然后点击左下角这边的小加号来添加主板的一个扩展, 再添加三除二视视觉模块,它的扩展 往下看一下,在这边注意是这里有第一代和第二代,我们添加是第二代智能视觉模块,这个练这边图标和我们的 手上这个带壳的是一模一样的,双击确定一下,接下来编写一下程序,先找到 初始化模块,在初始化模块找到之后来新建两个变量,一个是变量 i 好,再建立一个变量 count 好。创建完成之后来声明一下整数变量和整数 i, 它的 i 和 cons 两个变量。 声明好之后,接下来是设定视觉模块的广角,我们这边的连接方式是 iphone c 连接方式,因此这里选择 iphone c 地址零 x 六零,不需要修改, 然后开启所需要的算法,本节课时人脸识别,因此就将算法修改为人脸识别。修改 完成之后,接下来就来编写将变量 i 啊变量 count, 对,将变量 count 设置为人脸识别检测到数量运行模块里面,算法 点开是人脸识别检测的数量, 那么这时候的变量就等于我的一个屏幕里检测到几张人脸,这里有一张人脸,他只会检测到一个,当然有两个,三个,四个人,三四个人脸都是可以同时屏幕检测出来的。 将检测数量设为 cons 之后,接下来找到不长模块,这里有个变量 i 从零到十,具体是怎么设置呢?我们来看一下。程序编写好,先声明变两个变量,然后 ctrl 等于一,这里可以有,可以没有都还有这里的地址设定以及算法来修改。 设定好之后,将人脸识别检查数量设置为变量,设定好之后,再将不成模块作为编辑,是控制不变量 i 从一到 count 加一步进一,也就是从 i 增加到 count, 每次都增加,一 直到 i 等于 ctrl 的时候,这里是这个部长模块是从 i 从一到小于 ctrl 加一,这里是小于。后面就是来串号打印人脸识别的相关信息, 横坐标中坐标宽度,高度以及标签,并且对标签等于几进行判断。完整程序入图看一下。好,接下来我们继续编写不常模块,这里是控制 变量 i 从一每次增加一直到小于 cons 加一的时候, 这里为什么是用小 cont 加一,是因为这边代码这里可以看到是从等一直到小于某个数字,那么我们是需要运行到等于 cons 的, 所以在这里面是从一到 cons 加一步进一不成。模块编写好了,接下来就是创口打印,显示出 我们识别到人脸的相关信息。打印内容就是看到这运行模块里面有个,这边色块检测很多个,所以 改为人脸识别检测到的横坐标中坐标宽度,高度以及标签,所以你这边是需要填入 i 的, i 就是对应的他的人脸的序号,当一个人脸的时候 i 就一,然后人脸序号为二的时候,这边就执行二。 好,现在横着摆已经编制好了,接下来复制它 一共需要五个 修改,这里打印的内容 分别是横坐标,纵坐标,还有人脸识别的宽度,人脸的高度以及人脸的标签。这个标签肯定是需要我们先录入个人脸,在这个小绿框的左上角,这里一就是他的标签。 好,其实这时候已经可以进行上传了,上传之后我们来看一下标签是怎么样的, 价格,等待一秒,方便我们观察。来连接窗口看我们家数字,就可以 点击上传,将这样的一个打印出人脸识别相关信息的程序上传到主板上。好的,上传成功了,上传成功之 后打开创口接视器来点开看一下, 这边会显示出创口监视器,需要使用的话检测一下端口是五十六,然后点击打开创口,这时候因为等于零的时候,没有检测到人脸时的时候, i 是等于零,一直从 从一运行到零加一,那这肯定是没有运行的,因此呢,我们这边是不打任何的一个东西的,你看,当检测到人脸的时候, 此时可以看到在创口接视器这边会不断地跳出五组数字,我们会停止 看一下,这五组数字分别就他的横坐标、纵坐标,宽度,高度以及标签,标签是一可以看到。好,接下来我们将等待一秒去掉来编写判断程序, 如果满足人脸识别的标签等于一的时候,也就是这现在录入的这个脸的时候,我们控制主板上的 led 灯闪烁。 how? ok, 将人脸识别标签嵌套进去,等于一,等于一的话,就控制主板这边数字输出管角十三高低切换, 高低之间切换的话,等待时间,找个非常短的等待时间就好了,我们控制它等待一百毫秒。 好的, 然后再让他嵌套进去,就嵌套到哪,嵌套到串口打印的后面,一定要在不长模块的里面,如果放到不长模块外面的话,这个里 是没办法正常运行这个判断模块。编写完成之后,再来检查串口,然后上传这样的一个有现象的程序。 好,程序上的成功还是同样的。打开窗口,显示器 打开好,此时没有检测到人脸,那么在主板上这里这个 led 灯也没有闪烁,我们将摄像头正对这张人脸, 此时 ai 灯亮起,看一下,我们这里肯定是电位没有修改 好,修改之后再来上传,看一下效果, 好好,上传完成来,再来查看一下创口监视器,检测到人脸一 打印出了标号与以及相关的一个现象相关的参数,而现象这边可以看到在耳钉的主板上,这边指示灯开始以点亮零点一秒熄灭零点一秒的频率闪烁, 对应的现象可以看到,当没有检测到人脸的时候,灯就熄灭了,检测到人脸灯开始闪烁, 那么就是可以对这样的一个录入的人脸进行识别。 来看一下本节课 实验现象。 程序上传之后,打开创口,监视器会检查到录入的人类模型,监视器上会打印出相关参数,当人类模型的标签等于一的时候,主板上的 led 灯就会开始闪烁, 那么想一想还可以人脸识别,还可以制作哪些有趣的智能装置?以上就是本节课的全部内容,我们保存好程序。

scratch 基础入门教程第六期,今天来升级一下,保卫苹果。上个视频的末尾,我提出了一个问题,游戏当中用到的这两个网球角色呢,是重复的复制出来的角色,他们的代码完全相同, 只是角色的名字不同,如果我要对他们进行修改的话,就要两边一起改,这样就很不方便。而且苹果在进行侦测的时候呢,要做一个双重的侦测,对两个球都做侦测。假设我现在还想增加角色,难道还要再复制一次吗?这样的话苹果的侦测也会越来越长。 针对这种大量重复的角色,有没有更好的方案呢?答案是肯定的。控制里有一个积木,叫做克隆,自己克隆人听说过吧?哎,就是那个克隆,换成我们传统文化来说,那就是孙悟空的毫毛变出来的小猴子。我执行一下这个积木,大家来看看效果。我用玻璃 出来一个一模一样的网球,这个时候双击角色列表,你会发现闪烁的那个呢,就是本体,而另一个不变的就是被克隆出来这个克隆体啊,我可以克隆很多个克隆体, 每执行一次就会产生一个新的克隆体,他跟本体的位置啊,外形啊,完全都一样,而且他拥有本体里边除了绿奇代码之外的所有代码, 比如我们网球学校里边这个接收消息的代码,他所有的克隆体也都会执行这个代码也会接收消息的。他还有一个专属题目,就是这个当作为克隆体启动时, 明明是在控制分类里,但其实呢,长得跟事件类是一样的,也是一个圆顶的帽子,当这个克隆体一诞生的时候,就会触发这个事件,开始执行他下边的代码了。比如我们这个游戏里网球的任务呢,就是到处乱飞,那就把他移动的这部分代码全都挪到这个,当作为克隆体启动时的下边。 这样我们再来看一下,生成一个克隆体呢,他立马就开始到处乱飞,跟我们之前的角色本身做的动作完全是一样的。不过要注意啊,我这里产生了很多克隆体,但克隆体是有上限的,在 scrat 里限制了最多三百个克隆体, 有了克隆体的加持,那我们就可以对原来的代码做一些改造升级了。网球二这个角色呢,就没什么用了,所有的工作呢都可以交给网球的克隆体来实现。而苹果的代码也可以简化了,他进行碰撞侦测的时候呢,只需要去对网球进行侦测就可以了,不存在这个货的连接了。 当然我们敢放手这么做的话,一定是有一个前提的,那就是克隆体也可以被正常的碰撞侦测到。那我们来做一个验证,看看是不是这样产生一个克隆体,确认一下本体的位置,把克隆体挪过来, 用苹果做一个碰撞侦测,我们看一下是不是能够碰撞侦测成功呢?答案是肯定的,那么看来克隆体确实是一个完美的分身,我们来改造一下网球的代码,当绿奇被点击的时候呢,他就干一个事就行了, 重复执行三次来产生三个克隆体,记得把这个移到学习位置,也加入到循环当中来,这样呢,每次产生的克隆体都会在不同的位置,原来的这个网球二角色直接删除就可以了。现在代码有点多,我们可以用右键整理代码来整理一下,看一下最新的运行效果。 有一个小问题啊,就是有三个活动的网球,还有一个静止的网球,那静止的这个呢,其实是本体,他的代码现在只有克隆了,没有其他移动了,所以他静止在那没关系,可以做一点改造。第一种方法,我们只 只产生两个克隆体,然后把移动的代码也复制到本体的下边来,这样呢,一个本体两个克隆体一起干活,最终我们看到的还是三个球在飞,这是一个可行的方案。 第二种方法呢,就是本体只负责产生克隆体,其他就别参与了,但是呢,你必须先把自己隐藏起来,不要把自己露出来,免得影响大家。克隆体这头呢,在作为克隆体启动的一瞬间,赶紧把自己显示出来就 ok 了。 我个人更喜欢第二种方法,因为这样的话分工很明确,克隆体还有很多很多的玩法,好的游戏呢,都离不开克隆体的帮助。比如说我现在不断的产生克隆体,你看这个过程有没有点像发射子弹呢?现在看起来可能有点乱,换一种方式, 我不让这个炮弹拐弯了,我让他出来的时候都走直线,你再来看看这个过程像不像是在发射子弹。 所以下一期视频的主题就有了,我要用克隆体来完成一个射击类的游戏,毕竟进攻是最好的防守。