跳一跳是微信的一个小游戏,依靠操作小人蓄力跳跃进行游玩。按照小人跳跃盒子的数量,以及特殊盒子加分项计算得分。今天给大家分享了怎样用scratch制作跳一跳,赶紧来看看吧!
怎样用scratch制作跳一跳
分解目标:
第一阶段:实现当鼠标按下的时候“小人”能够发生形变蓄力,同时有声音特效。
第二阶段:松开鼠标声音停止,“小人”跳出去,根据蓄力的时间长短控制“小人”跳的远近。
第三阶段:“小人”跳跃成功的判断。
第四阶段:盒子的处理,“小人”在成功跳跃到下一个盒子上时,盒子与“小人”能够同时向左侧移动,然后再出现下一个盒子,然后这样一直重复下去。
第五阶段:计分,跳跃成功+1分,如果落在盒子中心+2分。
制作中的那些坑:
第一阶段的目标相对比较简单,“小人”有多个造型,在鼠标按下的时候,让“小人”的造型按顺序切换,即实现了形变的效果。那么这个过程中有一个小坑,不是所有时间只要按下鼠标就要让“小人”变形,比如我们开始运行时就要点击绿旗,此时肯定不能去执行形变;“小人”在空中跳跃时点击鼠标也是不被允许的。同时执行的另一个工作就是在“小人”发生形变的同时要播放音乐,鼠标松开要停止这一切。因此这里我使用了一个“music”变量,通过对这个变量的改变来控制音乐。
下来进入第二阶段,相对没有什么难度,跳跃分为两个步骤,起跳:同时改变x,y坐标,实现向上向右的移动,下落同理。跳的远近可以在第一步根据鼠标按下的时间长短(music变量有个变化)来作为一个参考值。
第三阶段:跳跃成功判断,首先我们要有第二个落脚点,思路很简单,在开始的时候克隆一个盒子,随机放在同一水平位置。如果克隆体碰到“小人”,成功;否则失败。这里又遇到一个问题,一开始就提示失败,因为此时“小人”还没跳,自然不会碰到克隆体。因此又需要一个变量“status”,来判断“小人”是起跳前还是起跳后。只有在起跳下落后再进行判断成功失败。貌似问题这么容易就解决了,但是忽略了一个问题,如果“小人”起跳下落后还在起始的那个盒子上,这样既不能说成功,不能得分,也不能算失败。于是乎我又增加了一个判断条件,判断“小人”与盒子(非克隆体)是否接触。新建变量“接触到本身判断”在下落后先判断与母体的接触,如果接触到母体,不再进行与克隆体的判断。
第四阶段:“小人”终于完成了第一步的大跳跃,下来我们要把克隆体的盒子和“小人”一起向左侧移动,再克隆一个新盒子,如此一直重复下去。克隆体移动很简单,直接移动到母体盒子的初识位置即可,“小人”需要同步移动,这里首先要使用一个变量“克隆体x坐标”用它来记录克隆体位置的x坐标,便于计算出“小人”要往左移动的距离,得到终点坐标,让“小人”移动过去;母体在在克隆体移动的同时也左移,如果碰到边缘就隐藏。
目前看似一切都比较顺利,但是不知不觉又入了另一个坑,当成功完成第一次跳跃后,进行第二次跳跃判断时问题来了,此时“小人”就在一个克隆体盒子上,如何判断跳跃到下一个克隆体上,还是落在了自身克隆体上?怎么区分两个克隆体?此处尝试了很多种办法,最终都不理想,那么是时候改变思路了,既然无法区分两个克隆体,那就只留一个克隆体,至少区别克隆体和母体还是可以做到的。于是乎,我修改了左移盒子的思路,左移开始的时候把母体盒子隐藏,克隆体移动到左侧,此时删除掉克隆体,将母体切换到克隆体同一个造型(新建变量“克隆体造型”记录克隆体的造型)显示,这样母体盒子就替代了之前的那个克隆体,肉眼是看不出来的,此时问题就解决了。
最后一步:增加计分变量,这里就比较简单了,跳跃成功呢+1分,如果跳跃落点与克隆体盒子的中心点距离小于5我们就+2分。至此这个游戏基本上就完成了,后来我还增加了落到盒子边缘的判断,原理就是判断落点与盒子中心的距离,也没有什么难度。
用scratch制作跳一跳的步骤
准备工作:
选择角色及背景,主要包括跳一跳的主角,以及整个游戏的背景,以及成功或失败时的音乐。
制作步骤:
1. 我们首先要学会如何使角色移动。
通过三个积木控制移动方向:连续按下上,左,右键后角色可移动10步。
2. 游戏开始,需要一个变量“status”,来判断“小人”是起跳前还是起跳后。只有在起跳下落后再进行判断成功失败。新建变量“接触到本身判断”在下落后先判断与母体的接触,如果接触到母体,不再进行与克隆体的判断。
3. 移动到起步位置,要使用一个变量“克隆体x坐标”用它来记录克隆体位置的x坐标,便于计算出“小人”要往左移动的距离,得到终点坐标。
4. 重复执行;角色object碰到了piayer发出声音,并通过移动x轴坐标来改变角色位置。
5.改变造型,增加计分变量,跳跃成功+1分,如果落在盒子中心+2分。
设计完成后需要先进行测试,只需要达到跳一跳的游戏效果即可,例如角色通过上、下、左、右键移动,碰到object后object自动切换为角色或背景。
用scratch制作跳一跳的思路
1.玩家通过按空格键的持续时间来控制跳跃者的蓄力时间;
2.通过克隆及随机数使盒子不断出现在舞台上;
3.蓄力时间越长,跳跃者跳的越高,盒子移动的距离越大;
4.建立变量来计算分数;
5.如果跳跃者成功落在盒子上,分数加一。