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

网友投稿 2019-04-12 09:47

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

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

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

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

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

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

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

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

一:蓄能的小点点特效:

https://cdn.china-scratch.com/timg/190414/143920FT-0.jpg

https://cdn.china-scratch.com/timg/190414/143920O49-1.jpg

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

https://cdn.china-scratch.com/timg/190414/143921J09-2.jpg

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

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

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

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

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

我们直接看一下代码:

https://cdn.china-scratch.com/timg/190414/143921Da-3.jpg

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

下面这段程序是关键:

https://cdn.china-scratch.com/timg/190414/1439211096-4.jpg

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

https://cdn.china-scratch.com/timg/190414/1439212c9-5.jpg

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

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

https://cdn.china-scratch.com/timg/190414/143921G35-6.jpg

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

https://cdn.china-scratch.com/timg/190414/1439214L3-7.jpg

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

https://cdn.china-scratch.com/timg/190414/143921G35-6.jpg

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

二:光圈的特效

https://cdn.china-scratch.com/timg/190414/1439215239-10.gif

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

https://cdn.china-scratch.com/timg/190414/1439234533-11.jpg

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

https://cdn.china-scratch.com/timg/190414/1439235003-12.jpg

https://cdn.china-scratch.com/timg/190414/143921G35-6.jpg

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

https://cdn.china-scratch.com/timg/190414/1439233D0-14.jpg

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

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

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

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

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

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

https://cdn.china-scratch.com/timg/190414/14392344P-16.jpg

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

三:得分的特效

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

https://cdn.china-scratch.com/timg/190414/1439232354-17.jpg

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

https://cdn.china-scratch.com/timg/190414/14392452Y-18.jpg

这个特效就是三部分:

1:逐渐变大。

2:逐渐向上走。

3:逐渐消失。

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

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

https://cdn.china-scratch.com/timg/190414/1439242256-19.jpg

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

--end--

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