极客小将

您现在的位置是:首页 » scratch编程资讯

资讯内容

Scratch实现角色点击的三种方式

极客小将2020-12-05-
Scratch实现角色点击的三种方式 到目前为止,果冻老师和大家已经学习了三位同学的参赛作品。古语说,温故而知新,我们不但要学习了解新的知识,也要善于对知识进行整理总结。这样才能真正的理解掌握,这是一个编程高手必备的技能哦。 今天我们不学习新

Scratch实现角色点击的三种方式

到目前为止,果冻老师和大家已经学习了三位同学的参赛作品。古语说,温故而知新,我们不但要学习了解新的知识,也要善于对知识进行整理总结。这样才能真正的理解掌握,这是一个编程高手必备的技能哦。

今天我们不学习新的作品,我们来总结一个非常常用的功能。果冻老师发现在前三个游戏作品中不可或缺的都有一个元素,那就是按钮,比如《垃圾分类》中的PLAY和HELP按钮,《时空穿越》中的A和B按钮,《记忆碎片》中的三角形开始按钮。既然每个作品中都有按钮,那必须要实现的一个功能就是点击按钮。这篇文章果冻老师就向大家介绍点击角色的三种实现方式。

upload/article/images/2020-12-05/f59b502d6e01f4a4c1add54297b0006c.jpgupload/article/images/2020-12-05/b5c66d12f1f5c8547095bb494d0fc423.jpg直接拖拽法upload/article/images/2020-12-05/0372df8290641e503c671bb1682bac70.jpg

第一种方法老师起名叫直接拖拽法,因为在Scratch软件中就内置了角色被点击的事件语句:

upload/article/images/2020-12-05/5a4b79b610fc5a173ae9406b9b2c77aa.jpg

我们将它直接拖动到代码区就可以了,例如:

upload/article/images/2020-12-05/7883c6649ad021abfd1bdcace34b6477.jpg

这样,当我们使用鼠标点击小猫时,它就会说话了。

upload/article/images/2020-12-05/97527beb947958e820b6944bcf81197a.jpg

这也太简单了吧!有同学会说,那我每次需要点击角色的时候只要把这个语句拖进来就行了,这当然可以实现想要的功能,但是这个功能是开发Scratch软件的叔叔阿姨替我们写好了,我们知道怎么用,但是却不知道是如何实现的,作为立志成为编程高手的你只会拖拽使用可是不行的,还必须自己编写程序实现,最后你编写的代码封装起来要让其它小朋友拖拽使用,这样你就成为同学们眼中的编程大神啦!

好,那我们就看看怎么样用代码来做出点击角色的功能。

upload/article/images/2020-12-05/f59b502d6e01f4a4c1add54297b0006c.jpgupload/article/images/2020-12-05/b5c66d12f1f5c8547095bb494d0fc423.jpg侦测语句法upload/article/images/2020-12-05/0372df8290641e503c671bb1682bac70.jpg

在Scratch的侦测模块中,有一个碰到鼠标指针?的语句:

upload/article/images/2020-12-05/520eac574126bad282eeada8088a00ad.jpg

它的作用是判断角色是否正在触碰鼠标指针,也就是说当鼠标指针放在角色上时就会触发这个侦测。

在侦测模块中还有一个语句,叫做按下鼠标?

upload/article/images/2020-12-05/44cb82b745615c128d5afd5f91d49ccf.jpg

这个语句的作用是判断是否按下了鼠标的按键,我们用鼠标点击舞台区的任何一个地方就会触发这个侦测。

那如果我们将这两个侦测语句放到一起联合使用是什么效果呢?判断鼠标指针是否放在角色上并且是否按下了鼠标的按键,这不就是我们想要的判断角色被点击的功能吗?于是,我们的代码就可以这样写:

upload/article/images/2020-12-05/4a46a47bffd06509c5026c694d2db21d.jpg

将碰到鼠标指针?和按下鼠标?两个侦测语句通过与运算符连接起来,并且不要忘了将如果那么语句放在重复执行的里面,这样代码才会一直的判断。

这时,点击小猫它也说话了:

upload/article/images/2020-12-05/97527beb947958e820b6944bcf81197a.jpg

upload/article/images/2020-12-05/f59b502d6e01f4a4c1add54297b0006c.jpgupload/article/images/2020-12-05/b5c66d12f1f5c8547095bb494d0fc423.jpg等待语句法upload/article/images/2020-12-05/0372df8290641e503c671bb1682bac70.jpg

第三种方法也是用语句代码实现。

在Scratch的控制模块中,有一个等待语句。

upload/article/images/2020-12-05/ac7a9caac57d40b367dca814b752a793.jpg

它的作用是等待方框里的条件成立时,再执行下面的积木。

等待语句和如果那么语句一样也是一种判断语句,所以我们将上一个方法中如果那么语句中的条件放到等待语句里也可以实现角色点击判断的功能。

upload/article/images/2020-12-05/4973f983a7027d8ce544893f12880341.jpg

这里使用了两个等待语句。当绿旗被点击后,代码开始运行,首先会等待第一个语句的条件成立,当我们使用鼠标点击角色时,第一个等待语句的条件满足,接着会等待第二个语句的条件成立,第二个等待语句的条件与第一个等待语句的条件刚好是相反的,在条件上添加了一个不成立的逻辑符。

使用通俗的话讲,第一个等待语句是等待鼠标的按键按下,第二等待语句是等待鼠标的按键抬起,这两个等待语句组合就完成了整个鼠标按键点击动作的判断。

当第二个等待语句的条件成立后,就会执行后面的代码,小猫说你好!

upload/article/images/2020-12-05/97527beb947958e820b6944bcf81197a.jpg

upload/article/images/2020-12-05/f59b502d6e01f4a4c1add54297b0006c.jpgupload/article/images/2020-12-05/b5c66d12f1f5c8547095bb494d0fc423.jpg不同点upload/article/images/2020-12-05/0372df8290641e503c671bb1682bac70.jpg

方法二与方法三都是通过编码实现角色点击的判断,基本的原理也是一样的,但是它们还是有一些不同的地方,你知道是什么吗?

同学们先自己想一想。

首先,方法二的如果那么语句只有一个条件,当我们按下鼠标的一瞬间条件就成立了。而方法三有两个条件,当鼠标按下和松开两个条件都成立后才会执行后面的代码,所以它们的第一个不同点就是触发的时间点不同,方法二在我们按下鼠标的时候小猫就会说话,而方法三必须按下鼠标并松开完成整个点击动作后小猫才会说话。

第二个不同也很明显,方法二与方法三相比多了一个重复执行的语句,所以方法二会不停的判断是否点击角色了,我们可以一直点击小猫让它说话,而方法三只会判断一次,小猫说一次话之后代码就结束了。

这并不是说方法三没有方法二的好,而是它们的作用不同。方法二用于可以多次或无限点击的角色,比如一个加血按钮,点击它可以给角色加血。方法三呢主要用于点击一下页面就跳转的情况,比如游戏的开始按钮,我们点击它后,游戏就转到下一个场景了,就如《记忆碎片》中的三角形开始按钮一样,这当然就不需要重复执行判断了。

upload/article/images/2020-12-05/f59b502d6e01f4a4c1add54297b0006c.jpgupload/article/images/2020-12-05/b5c66d12f1f5c8547095bb494d0fc423.jpg总结upload/article/images/2020-12-05/0372df8290641e503c671bb1682bac70.jpg

这篇文章中我们一起学习了实现角色点击的三种方法,其中有两种方法需要我们自己写代码实现,同时也知道了这两种方法的不同点,相信同学们了解原理之后,在今后的开发中会更从容的使用它们。那实现角色点击的方法就只有这三种吗,还有没有其它更棒的方法呢?同学们开动脑筋,欢迎给果冻老师留言,将你想出来的方法告诉我哦!

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除

网友点评

共有5条评论来说两句吧...

在线客服