在Scratch网站上,最受欢迎的游戏肯定是那些跳,跳高,跳低,躲避障碍物或怪物的平台游戏。 但是,许多初学者会遇到有关如何使精灵自由移动的问题。 在本系列文章的这里,我将介绍两种控制精灵运动的方法。 这两种方法几乎可以应用于各种情况。 因此,让我们开始吧!
有两个与平台游戏有关的关键问题。 一种是如何控制精灵的移动,另一种是如何控制背景的移动。
在本文中,我将介绍两种控制精灵运动的方法,并在下一篇文章中保留第二个问题。
简单的实施方法
向上跳跃

当按下向上箭头键时,程序应首先验证狗是否站立在地面上或任何坚固的表面上。 验证的简单方法是在狗的脚上涂上一种独特的颜色,然后在平台的表面上涂上另一种颜色。 当两种颜色接触时,表示狗站在坚固的表面上,可以为跳跃做好准备。
为什么需要上述步骤? 如果狗的脚没有触地时可以跳下,则说明它不是正常的狗。 是鸟,不是吗?

另一个问题是当狗向上跳跃时会撞到东西。 再次,程序使用颜色来识别凸起。 当程序发现碰撞发生时,它将变量“跳跃状态”设置为0以停止前进,并开始下降过程。 如上图所示。
下降和 着陆问题

由于重力,狗将始终返回地面。 在此块中,程序首先检查变量“跳转状态”的值。 如果等于0,则表示狗没有向上移动。 在这种情况下,每次迭代将y降低5步,直到狗脚落在地面上。
那我不判断“跳跃状态”的状态呢? 然后,当狗向上跳跃时,此程序块将始终将其向下拖动。
该方法的特点
这种方法使用不同的颜色来表示头部,脚部和平台,因此Scratch初学者更容易理解。 当精灵向上跳跃时,由于重力而使速度减速。 当精灵跌落时,它使用稳定的下降速度来降低复杂性。
通常,此方法适合初学者,但在控制Sprite方面缺乏精确性。 精灵无法准确地降落在地面上,使其看起来像
改进方法

在这种方法中,一个代码段(上面)将始终通过变量“速度y”来改变y。 在更改y之后的每次迭代中,代码段将调用“ Touch Ground”块,以检查Mario是否接触了地面或高架物体,然后在y方向上进行了调整。
此迭代的最后一步测试是否按了向上箭头键。 如果是,请将变量“速度y”设置为22的较大值,然后重复迭代。
“接触地面”块
编写此块来处理着陆问题。
“ Touch Ground”块后面的逻辑有些棘手。 如果精灵既不接触地面也不接触项目块(表示那些高架项目),则只需完成运行该块并继续上图中的循环中的其他例程即可。
如果它触摸到某物并向上移动(“速度y”> 0),则使Mario下降一点(将y改变-1),并将“速度y”设置为0,这样Mario不会进一步向上运动。
如果它触摸到某物并且正在下降(“速度y”
该方法的特点
通过组合以上两个代码段,该方法可以更准确,更快地控制子画面的运动。 此外,您不需要为头和脚使用特定的颜色。
如果您可以理解此方法背后的逻辑,则强烈建议您这样做。
那么,您更喜欢控制哪种方式来控制精灵的垂直运动呢? 在下一篇文章中,我将介绍如何控制您的精灵在x位置(水平)的移动。 敬请关注!
并且不要忘了享受乐高编程少儿编程并从中获得乐趣!
注意:所有分析文章均为乐高少儿编程的版权产品。 重新张贴它们的任何人都应归功于作者和原始出处。 任何将其用于商业目的或将其翻译成其他语言的人均应通知少儿编程并首先获得确认。 版权所有。
zChocolat.com 被《顶级消费者评论》评为“ 2019年最佳巧克力商店”,被食品网络评为“顶级5巧克力礼物”,被《华尔街日报》评为“网络上鲜为人知的最佳礼物网站”,被《华尔街日报》评为“最佳巧克力商店”。 洛杉矶时报,《纽约时报》的“最佳当下创意”,华盛顿大学邮报的“超越现实”,并在TrustPilot上维持4.9 / 5的评分,并有超过2K的特殊评论。
通过DHL向全球244个国家/地区提供世界一流的法国巧克力,由世界冠军巧克力大师Pascal Caffet手工制作。
Novakid学校 是一所针对儿童(3岁以上)的在线英语学校,提供几种类型的私人课程包,根据课程数量和教师职业而有所不同。