如何在Scratch少儿编程中为游戏添加碰撞功能

网友投稿 2020-01-15 11:25

碰撞是大多数电子游戏的核心。无论是吃豆人与粉红色的鬼魂碰撞,马里奥跳上平台,还是角色在Minecraft中选择新工具,游戏设计师都会决定每次碰撞时将发生什么。

Flappy Bat游戏需要检测哪些碰撞?蝙蝠触碰管道吗?蝙蝠触地了吗?如果发生任何碰撞,应该发生什么?游戏必须结束。

检测与地面精灵的碰撞

1.单击地面精灵(Ground sprite),然后单击“脚本(Scripts )”选项卡。

2.将以下块拖动到脚本区域(Scripts Area)中,然后在触摸块(TOUCHING block.)中选择玩家(Player )。

https://cdn.china-scratch.com/timg/200117/112512L58-0.jpg

3.单击绿色标志(Green Flag)按钮。

如果玩家漂落在地上,则游戏应在碰撞后立即结束。

https://cdn.china-scratch.com/timg/200117/1125124603-1.jpg

您通常会将IF THEN块放在FOREVER块中,这样程序将持续检查条件是否为真或为假,并采取相应的措施。现在,您的程序将不断检查以查看玩家精灵是否从按下绿色标志按钮的那一刻起一直接触到地面精灵,直到碰撞导致STOP ALL块结束游戏为止。

由于在Pipe Sprite上需要相同的代码,因此可以通过复制代码块来节省时间。

将块从地面(Ground)复制到管道(Pipe)

单击顶部的块(当“绿色标记被选中时”),并将这些块从“脚本”区域直接拖到舞台下的“管道精灵”图标上。

https://cdn.china-scratch.com/timg/200117/1125133U5-2.jpg

释放鼠标/触控板按钮后,您应该会在“脚本”选项卡上看到原始代码重新卡入到位。如果单击舞台下的“管道精灵”图标,则应发现代码已复制到那里。

https://cdn.china-scratch.com/timg/200117/1125144c4-3.jpg

如果新块与先前代码重叠,请单击顶部块并将其拖动到其他代码的右侧或下方。

https://cdn.china-scratch.com/timg/200117/1125142546-4.jpg

单击“绿色标志”按钮,您应该发现当游戏者精灵触摸管道精灵或地面精灵时,游戏结束。

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