Scratch第四十五讲:微信跳一跳(二)
这一讲CC哥对跳一跳的程序进行一下完善,主要是增加三种特效,以使这个程序更像微信中的小程序。
让我们先看一下这三个特效是什么:
大家看到了吧,这三种特效分别是:
1:当按下空格键的时候,跳棋周围出现了一些小点,向跳棋飞去,看上去很有积蓄能量的效果。
2:当跳棋落到下一个台子上时,会有一个效果光圈扩散开去。有一个落地的效果。
3:每成功一跳,跳棋旁边就有一个得分的效果。
这个游戏是不是感觉效果更像微信里面的跳一跳啦?
让我们来讲一下这三个效果怎么做到的:
一:蓄能的小点点特效:
首先增加了一个角色来做这个特效。
角色的造型有两个,一个白点,一个黑点。
这段代码的设计逻辑和用到的命令主要是:
1:当按下空格键之后,那么就在围绕着跳棋的一定距离的区域,随机产生一些小点。(方向,随机数,克隆)
2:这些小点产生以后,开始向跳棋移动。(方向、移动)
3:当空格键松开,或者小点碰到跳棋就消失。(条件判断组合)
我们直接看一下代码:
这段就是对小点的初始值进行设定,大小合适,设置成半透明来增加效果。另外变量i是用来控制设置小点的数量。
下面这段程序是关键:
大家注意到没有,我并没有用事件里面的当按下“空格键“的命令,为什么呢?
如果大家对这个有疑问,可以重新回看我之前最早的一讲:Scratch第十三讲:按键的技巧,在这一讲里,CC哥专门讲了按下一个键,跟长按一个键在scratch里面是有区别的。所以在这次的设计里面,我就用了长按的技巧。希望大家复习一下。
这段程序的循环里判断两个条件:第一空格键被按下,第二小点数量不超过10个。如果符合这个条件那么就在距离跳棋40~60步的这一圈内,随机克隆10个小点,黑白小点交替克隆。为了保证小点分布的随机性,我们先让小点每次在克隆前,先回到跳棋上,然后随便在0~360度之间选一个方向,然后移动到克隆区域内,进行克隆。克隆完毕后还返回跳棋上,再重新选择随机方向,移动然后克隆。
这一段程序如果用了按下空格的命令,就会出现各种各样的错误。CC哥自己做的时候一开始也忽略了,搞出一大堆bug。大家可以自己试试,看看为什么会出现这个错误。
这部分程序就是每个克隆体出现后,向跳棋移动的代码。
CC哥也犯低级错误,忘了放等待命令了,老看不到小点自己还奇怪了一下。我发现也有很多朋友在问问题的时候也老问这类问题,为什么我写了代码,但是执行没有反应呢?90%都是忘了放等待命令啦
二:光圈的特效
这个CC哥也增加了哥角色。
角色的造型是CC哥用画笔画的,然后把白背景用scratch里面的绘图效果处理掉了。
CC哥现在很多角色就自己顺手做一下,其实也不用很复杂,一般画笔和scratch造型里面自带的一些工具就够用了,只要细心点就行。用的最多的就是抠图和去白背景,抠图大家可以试试美图秀秀,超级方便。有时间CC哥专门给大家做一讲。
代码不复杂,首先出现环:
移动到跳棋的位置。大小设定到合适的大小,用半透明来体现效果。
然后用循环来做渐变的特效。一是逐渐变大,二是逐渐变淡直到消失。
注意别忘了在循环里面放等待命令,否则你什么都又看不见了。
这段程序的关键是什么时候开始执行。
也就是说需要用到消息和接收到消息的功能了,因为我们是在跳棋跳成功后才执行效果,所以应该放在跳棋角色的代码里面,放在跳成功之后那一段命令中。
我们用了广播并等待的命令,而不是广播的命令,大家自己试的时候看看有什么区别。如果大家认真看过CC哥每一讲的话,应该就知道区别。
三:得分的特效
这个相对简单,首先做了个得分的角色。这个也是用造型工具里面文本功能直接写的。
大家注意一下,这个角色的造型不能放在中心点,要靠右上方,因为你希望在跳棋边上出现得分,而不是在跳棋上出现得分。
这个特效就是三部分:
1:逐渐变大。
2:逐渐向上走。
3:逐渐消失。
程序就不解释了,别忘了放等待命令哦。
这个跟刚才一样,就是在什么时候出现,我把它放在了下一步起跳前出现。
好了,今天的讲座就到这里,关键是大家学习的时候,不能光看一遍,如果有条件一定要照着思路自己做一遍。如果做的有问题,再参考CC哥的代码看一看。编程就是同一个效果可以用很多方法实现,所以不一定老师的就是最好的。经验一定是要自己慢慢积累的.
--end--
声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com