知识屋:更实用的电脑技术知识网站
所在位置:首页 > 综合

Scratch Jr 亲子编程指南40 游戏篇(十二)公路赛车

发表时间:2022-03-25来源:网络

亲子编程指南是面向5-7岁孩子的系列教程,本教程以ScratchJr为创作工具,综合学科知识与编程技能,激发孩子的创造力、锻炼思维能力,实现STEAM教育所要求的科学、技术、工程、艺术和数学五大领域的素养综合提升。第三辑为游戏专辑,带领孩子开发一些简单好玩的小游戏,做到寓教于乐。

游戏背景

小朋友玩过赛车类的游戏吧,这类游戏非常多,比如《极品飞车》、《极限竞速》、《一级方程式》等等,驾驶着自己心爱的汽车飞驰在赛道上的感觉真是棒极了!在没有学过编程之前,你可能会疑惑为什么我的汽车角色在屏幕中央并没有怎么移动位置,却感觉一直在向前行驶呢——在以前的游戏中我们已经学到了,这是利用了“相对运动”原理。即使车这个角色没有“动”,我们让道路、道路两侧的景物“动”起来,就让人产生了车辆在移动的感觉——基于这个原理,我们来做一款简单的公路赛车游戏吧!

程序构思

本节我们设计一款“俯视”的赛车游戏,也就是从天空中看下去的视角。游戏中我们控制自己的车辆在公路范围内左右移动,而其它车辆不断地从上方移过来,如果碰到它们,游戏就会结束。为了制造车辆一直在“行驶”的错觉,我们需要给道路增加一种“向后移动”的效果,这实际上是通过让道路中心线向下移动来实现的;道路两边还各添加一个房屋角色,在游戏过程中它们也会向下移动,这样就产生了动态行驶的效果。当迎面驶来的车辆通过屏幕6次,我们就认为你到达了终点,游戏胜利!

编程实现

1、新建 Scratch Jr 项目,对于本游戏来说,Scratch Jr 提供的角色和背景不适合我们使用,我们必须自力更生,用绘图编辑器来解决。对于已经从头学到现在的你,相信绘图功能使用起来已经驾轻就熟了吧?我们先给场景1画一个背景,它由绿色的草地和灰色的道路组成,其中道路的边缘使用浅灰色:

2、绘制需要的角色。首先是道路中心线——一个白色的长方形:

赛车角色稍稍有点复杂,这是从天空中看下去的一辆黄色的赛车。车身由圆形增加调整点逐步形成,上面用不同颜色的圆形调整成车窗、后视镜、车灯、尾灯等,如果你想了解详细的绘画过程,可以参考 Grace 老师提供的视频教程:

房屋角色比较简单,简单的长方形和前方代表绿色植物的绿色圆形构成。需要注意的是房屋角色要画两个,一个是绿色树木在右的,一个是在左的:

道路边缘角色是灰色的长方形,它是用来干什么的呢?用于放在道路两边,检测你的赛车有没有超出道路范围的(碰撞触发):

接下来通过修改再创建一个对面开来的车辆角色,注意它是向下行驶的,所以车头向下,你可以把现有车辆旋转一下即可,然后选择你喜欢的颜色填充。这样的角色需要两个:

下面是场景1的布置,我方赛车放在道路右下角,对方车辆放在上方各一边(有不遵守交通规则逆行的哦),房屋角色道路两边各放一个,我方赛车两侧道路上放了两条道路边缘角色(由于和边缘颜色一样所以看不到),最后还需要放两个圆形的方向按键,这是以前画过的角色,非常简单,这是就不再展示它的画法了。注意,右上方红色车辆要隐藏起来:

3、建立场景2、场景3,它们分别代表游戏失败(碰到迎面驶来的车辆或者两边的道路边缘)和游戏成功——对方车辆经过六次。这两个场景的逻辑很简单,点击小猫角色返回场景1,重新开始游戏:

4、所有角色完成,我们要开始写指令了。首先,在启动程序的时候,要让道路中心线和房屋循环不断地向下移动,这样就会产生动感。四条道路中心线角色和两个路边房屋角色的代码是完全一样的,你完全可以使用拖动来复制这段指令:

5、为道路边缘线(左右各一)编写相同的指令,只要被碰到,游戏结束:

6、为对面的蓝色车辆编写指令,经过6次15步的向下移动之后(如果没被撞到)就切换到场景3,代表游戏通关;如果被触碰,游戏结束:

7、红色车辆呢?和蓝色车辆类似,少了一个场景切换指令,还有呢?它不是和蓝色车辆一起启动的,而是等了4秒钟才显示出来,出发——为什么呢?要是不等待4秒,两辆车并排开过来,你控制的赛车向哪里躲呢?

8、为向左、向右两个按钮编写指令,发送消息给你控制的黄色赛车:

9、为主角——黄色赛车编写指令,收到消息后向左或向右移动。为了增加游戏氛围,我录制了一些汽车喇叭声和摇滚音乐,在游戏过程中播放:

10、游戏完成啦:

收藏

热门推荐

  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜