极客小将

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

资讯内容

Scratch第四十五讲:微信跳一跳(二)

极客小将2020-11-25-
这一讲CC哥对跳一跳的程序进行一下完善,主要是增加三种特效,以使这个程序更像微信中的小程序。 让我们先看一下这三个特效是什么: 大家看到了吧,这三种特效分别是: 1:当按下空格键的时候,跳棋周围出现了一些小点,向跳棋飞去,

这一讲CC哥对跳一跳的程序进行一下完善,主要是增加三种特效,以使这个程序更像微信中的小程序。

让我们先看一下这三个特效是什么:

大家看到了吧,这三种特效分别是:

1:当按下空格键的时候,跳棋周围出现了一些小点,向跳棋飞去,看上去很有积蓄能量的效果。

2:当跳棋落到下一个台子上时,会有一个效果光圈扩散开去。有一个落地的效果。

3:每成功一跳,跳棋旁边就有一个得分的效果。

这个游戏是不是感觉效果更像微信里面的跳一跳啦?

让我们来讲一下这三个效果怎么做到的:

一:蓄能的小点点特效:

upload/article/images/2020-11-25/a69df43804dbf4cf3b2d535a16fa92c3.jpg

upload/article/images/2020-11-25/e44070378d9c732af6dbbef31bafda2f.jpg

首先增加了一个角色来做这个特效。

upload/article/images/2020-11-25/1f6bb8c7133c92abb8f0a4f73c0ee25b.jpg

角色的造型有两个,一个白点,一个黑点。

这段代码的设计逻辑和用到的命令主要是:

1:当按下空格键之后,那么就在围绕着跳棋的一定距离的区域,随机产生一些小点。(方向,随机数,克隆)

2:这些小点产生以后,开始向跳棋移动。(方向、移动)

3:当空格键松开,或者小点碰到跳棋就消失。(条件判断组合)

我们直接看一下代码:

upload/article/images/2020-11-25/69054b7dca110f77cb7df96e1067eff2.jpg

这段就是对小点的初始值进行设定,大小合适,设置成半透明来增加效果。另外变量i是用来控制设置小点的数量。

下面这段程序是关键:

upload/article/images/2020-11-25/64a95839585f0dfc36ee7ff1221237f1.jpg

大家注意到没有,我并没有用事件里面的当按下“空格键“的命令,为什么呢?

upload/article/images/2020-11-25/359d45eec638eb28e205cd7553d5d040.jpg

如果大家对这个有疑问,可以重新回看我之前最早的一讲:Scratch第十三讲:按键的技巧,在这一讲里,CC哥专门讲了按下一个键,跟长按一个键在scratch里面是有区别的。所以在这次的设计里面,我就用了长按的技巧。希望大家复习一下。

这段程序的循环里判断两个条件:第一空格键被按下,第二小点数量不超过10个。如果符合这个条件那么就在距离跳棋40~60步的这一圈内,随机克隆10个小点,黑白小点交替克隆。为了保证小点分布的随机性,我们先让小点每次在克隆前,先回到跳棋上,然后随便在0~360度之间选一个方向,然后移动到克隆区域内,进行克隆。克隆完毕后还返回跳棋上,再重新选择随机方向,移动然后克隆。

upload/article/images/2020-11-25/e268d00618e69f3532160e89adfff617.jpg

这一段程序如果用了按下空格的命令,就会出现各种各样的错误。CC哥自己做的时候一开始也忽略了,搞出一大堆bug。大家可以自己试试,看看为什么会出现这个错误。

upload/article/images/2020-11-25/97d076b5ac9f446fd8b76264e1f1acb8.jpg

这部分程序就是每个克隆体出现后,向跳棋移动的代码。

upload/article/images/2020-11-25/e268d00618e69f3532160e89adfff617.jpg

CC哥也犯低级错误,忘了放等待命令了,老看不到小点自己还奇怪了一下。我发现也有很多朋友在问问题的时候也老问这类问题,为什么我写了代码,但是执行没有反应呢?90%都是忘了放等待命令啦https://cdn.china-scratch.com/Public/Home/images/grey.gif

二:光圈的特效

https://cdn.china-scratch.com/timg/191106/155G04411-10.gif

这个CC哥也增加了哥角色。

upload/article/images/2020-11-25/bca4d4fef3ab2bdc6eba46a14413b12d.jpg

角色的造型是CC哥用画笔画的,然后把白背景用scratch里面的绘图效果处理掉了。

upload/article/images/2020-11-25/e583d3e6cfd97516a42646c85ae9149c.jpg

upload/article/images/2020-11-25/e268d00618e69f3532160e89adfff617.jpg

CC哥现在很多角色就自己顺手做一下,其实也不用很复杂,一般画笔和scratch造型里面自带的一些工具就够用了,只要细心点就行。用的最多的就是抠图和去白背景,抠图大家可以试试美图秀秀,超级方便。有时间CC哥专门给大家做一讲。

upload/article/images/2020-11-25/4e5d4c4fd4c09aa1f389a06ea08bc65f.jpg

代码不复杂,首先出现环:

移动到跳棋的位置。大小设定到合适的大小,用半透明来体现效果。

然后用循环来做渐变的特效。一是逐渐变大,二是逐渐变淡直到消失。

注意别忘了在循环里面放等待命令,否则你什么都又看不见了。https://cdn.china-scratch.com/Public/Home/images/grey.gif

这段程序的关键是什么时候开始执行。

也就是说需要用到消息和接收到消息的功能了,因为我们是在跳棋跳成功后才执行效果,所以应该放在跳棋角色的代码里面,放在跳成功之后那一段命令中。

upload/article/images/2020-11-25/56a7dd7f939ac15f14b3e0cd2cf7d9c2.jpg

我们用了广播并等待的命令,而不是广播的命令,大家自己试的时候看看有什么区别。如果大家认真看过CC哥每一讲的话,应该就知道区别。

三:得分的特效

这个相对简单,首先做了个得分的角色。这个也是用造型工具里面文本功能直接写的。

upload/article/images/2020-11-25/603ec9480c4902df31add4e11380fc9c.jpg

大家注意一下,这个角色的造型不能放在中心点,要靠右上方,因为你希望在跳棋边上出现得分,而不是在跳棋上出现得分。

upload/article/images/2020-11-25/129062011ff0b0b966012c51c7ca52ff.jpg

这个特效就是三部分:

1:逐渐变大。

2:逐渐向上走。

3:逐渐消失。

程序就不解释了,别忘了放等待命令哦。

这个跟刚才一样,就是在什么时候出现,我把它放在了下一步起跳前出现。

upload/article/images/2020-11-25/f4c7d6907fbf2c56d2c2c457db5f0c53.jpg

好了,今天的讲座就到这里,关键是大家学习的时候,不能光看一遍,如果有条件一定要照着思路自己做一遍。如果做的有问题,再参考CC哥的代码看一看。编程就是同一个效果可以用很多方法实现,所以不一定老师的就是最好的。经验一定是要自己慢慢积累的。

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

网友点评

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

在线客服