怎样用scratch做跳一跳呢?很多家长都在咨询这个问题,Scratch是一款少儿编程软件,可以利用搭积木的方式来实现编程开发非常有趣,既便于用户理解,同时也简化了编程的中的语法问题。今天给大家分享了怎样用scratch做跳一跳呢,希望能给各位带来帮助,赶紧来看看吧!
怎样用scratch做跳一跳
首先我想告诉大家这并不是一个制作教程,因为它对于小朋友来说还是很有难度的,那么我分享的主要目的就是希望大家在面对一个比较有挑战的项目时该如何应对,通过这样一个具体的例子来说一说我是如何开始并一步步做出这个游戏的,如果你也对这个游戏感兴趣,也许你会做出更好的效果。
在我开始打算做跳一跳的时候我并没有把握能做出一个成品出来,因为它确实有一些难度,不过我还是打算试一试,即便是最终未完成我也会清楚我失败的原因。于是我开始做了一个简单的规划,然后去一步步尝试。
分解目标:
第一阶段:实现当鼠标按下的时候“小人”能够发生形变蓄力,同时有声音特效。【比较有把握】
第二阶段:松开鼠标声音停止,“小人”跳出去,根据蓄力的时间长短控制“小人”跳的远近。【比较有把握】
第三阶段:“小人”跳跃成功的判断【情况较多,难度大】
第四阶段:盒子的处理,“小人”在成功跳跃到下一个盒子上时,盒子与“小人”能够同时向左侧移动,然后再出现下一个盒子,然后这样一直重复下去。【比较困难,没有把握】
第五阶段:计分,跳跃成功+1分,如果落在盒子中心+2分【简单】
制作中的那些坑:
第一阶段的目标相对比较简单,“小人”有多个造型,在鼠标按下的时候,让“小人”的造型按顺序切换,即实现了形变的效果。那么这个过程中有一个小坑,不是所有时间只要按下鼠标就要让“小人”变形,比如我们开始运行时就要点击绿旗,此时肯定不能去执行形变;“小人”在空中跳跃时点击鼠标也是不被允许的。同时执行的另一个工作就是在“小人”发生形变的同时要播放音乐,鼠标松开要停止这一切。因此这里我使用了一个“music”变量,通过对这个变量的改变来控制音乐。
下来进入第二阶段,相对没有什么难度,跳跃分为两个步骤,起跳:同时改变x,y坐标,实现向上向右的移动,下落同理。跳的远近可以在第一步根据鼠标按下的时间长短(music变量有个变化)来作为一个参考值。
第三阶段:跳跃成功判断,首先我们要有第二个落脚点,思路很简单,在开始的时候克隆一个盒子,随机放在同一水平位置。如果克隆体碰到“小人”,成功;否则失败。这里又遇到一个问题,一开始就提示失败,因为此时“小人”还没跳,自然不会碰到克隆体。因此又需要一个变量“status”,来判断“小人”是起跳前还是起跳后。只有在起跳下落后再进行判断成功失败。貌似问题这么容易就解决了,但是忽略了一个问题,如果“小人”起跳下落后还在起始的那个盒子上,这样既不能说成功,不能得分,也不能算失败。于是乎我又增加了一个判断条件,判断“小人”与盒子(非克隆体)是否接触。新建变量“接触到本身判断”在下落后先判断与母体的接触,如果接触到母体,不再进行与克隆体的判断。
第四阶段:“小人”终于完成了第一步的大跳跃,下来我们要把克隆体的盒子和“小人”一起向左侧移动,再克隆一个新盒子,如此一直重复下去。克隆体移动很简单,直接移动到母体盒子的初识位置即可,“小人”需要同步移动,这里首先要使用一个变量“克隆体x坐标”用它来记录克隆体位置的x坐标,便于计算出“小人”要往左移动的距离,得到终点坐标,让“小人”移动过去;母体在在克隆体移动的同时也左移,如果碰到边缘就隐藏。
目前看似一切都比较顺利,但是不知不觉又入了另一个坑,当成功完成第一次跳跃后,进行第二次跳跃判断时问题来了,此时“小人”就在一个克隆体盒子上,如何判断跳跃到下一个克隆体上,还是落在了自身克隆体上?怎么区分两个克隆体?此处尝试了很多种办法,最终都不理想,那么是时候改变思路了,既然无法区分两个克隆体,那就只留一个克隆体,至少区别克隆体和母体还是可以做到的。于是乎,我修改了左移盒子的思路,左移开始的时候把母体盒子隐藏,克隆体移动到左侧,此时删除掉克隆体,将母体切换到克隆体同一个造型(新建变量“克隆体造型”记录克隆体的造型)显示,这样母体盒子就替代了之前的那个克隆体,肉眼是看不出来的,此时问题就解决了。
最后一步:增加计分变量,这里就比较简单了,跳跃成功呢+1分,如果跳跃落点与克隆体盒子的中心点距离小于5我们就+2分。至此这个游戏基本上就完成了,后来我还增加了落到盒子边缘的判断,原理就是判断落点与盒子中心的距离,也没有什么难度。
总结:
在遇到一个项目时不要盲目动手,先去思考,把项目进行功能拆分,罗列出来,先去动手解决你能完成的部分,然后在空余时间去思考那些比较困难复杂的环节(如果某个拆分的功能依旧复杂,尝试着进一步拆分)。总之我们需要行动起来,不要盲目动手也不可望而生畏,任何程序都是由小的功能组成的,今天的努力也许会给你明天的思考带来灵感,更何况我们遇到了困难还可以去求助别人,如何向别人描述自己的问题也是一种表达能力的锻炼。
很多人抱怨scratch功能有缺陷,但我想说的是这是一个给孩子使用的工具,毕竟不是为了培养孩子的程序代码能力,重要的是锻炼孩子的思维逻辑能力,解决问题的能力。解决问题可以借助各种强大的工具,也可以通过思考利用有限的工具创造出奇迹。正式有了各种局限才让它更具魅力,它会激发你不断去思考,不断去尝试。
scratch如何编写跳一跳游戏脚本
游戏思路。
判断恐龙是否接触到障碍物。
如果跳过障碍物,则游戏加分。(跳过键盘控制跳跃)
如果接触到障碍物,则游戏结束。
创建角色。
从图片库,挑选一只恐龙角色,并将其名称改为“恐龙”。
挑选一个物品,作为障碍物角色,并将其名称改为“障碍物”。
创建结束背景。
在舞台背景里,新建一个背景,输入文字“Game Over”游戏结束字样。
并将两个背景的名称分别改为“游戏进行”“游戏结束”。
创建分数变量。
在角色的“程序”界面,找到“数据”,鼠标点击“建立一个变量”。
变量名称为“游戏分数”。
这个变量是用于记录游戏成绩的。
编写游戏程序。
恐龙控制程序:检测到键盘的“空格键”按下时,先跳起来,后落下。
障碍物产生程序:每隔几秒产生一个障碍物。接触到恐龙,程序停止;没有则加分。
最终游戏效果。
点击“绿色旗子”开始游戏,按下“空格键”控制恐龙跳过障碍物。
用scratch制作跳一跳的步骤
1. 我们首先要学会如何使角色移动。通过三个积木控制移动方向:
连续按下上,左,右键后角色可移动10步,我们需要这样搭积木:
2. 游戏开始,需要一个变量“status”,来判断“小人”是起跳前还是起跳后。只有在起跳下落后再进行判断成功失败。新建变量“接触到本身判断”在下落后先判断与母体的接触,如果接触到母体,不再进行与克隆体的判断。
3. 移动到起步位置,要使用一个变量“克隆体x坐标”用它来记录克隆体位置的x坐标,便于计算出“小人”要往左移动的距离,得到终点坐标。
4. 重复执行;角色object碰到了piayer发出声音,并通过移动x轴坐标来改变角色位置
5.改变造型,增加计分变量,跳跃成功+1分,如果落在盒子中心+2分。
设计完成后需要先进行测试,只需要达到跳一跳的游戏效果即可,例如角色通过上、下、左、右键移动,碰到object后object自动切换为角色或背景。
以上就是成都童程童美少儿编程培训为您提供怎样用scratch做跳一跳呢的全部内容,更多内容请进入少儿编程栏目 查看