趣学妙用Scratch编程29 妙用篇(十七) 公路赛车
2023-06-26 10:47:22
知:赛车游戏与相对运动原理
《极品飞车》一类的赛车游戏,你一定不陌生吧?驾驶着自己心爱的汽车飞驰在赛道上的感觉真是棒极了!不过如果让你去编写这类游戏的时候,你会产生的第一个疑问就是,我怎么实现那种“动”的感觉呢?的确,明明我的汽车角色在屏幕中央并没有怎么移动位置,为什么就感觉一直在向前行驶呢?这就是我们要说的“相对运动”原理。在物理学概念中,物体的运动就是相对于参照物体的位置变化,这个“参照物”很关键,当我们坐在火车上的时候,火车开始了,你首先发现的不是火车动了,而是站台“动”了!这就是位置的相对变化带来的错觉。那么反过来如果车没有“动”,我们让道路、道路两侧的景物“动”起来,是不是就实现了赛车游戏的那种效果呢? 基于这个原理,我们来做一款简单的公路赛车游戏,在游戏开始后倒计时的60秒种内,你的车“行驶”在公路上,不断“超过”一辆又一辆汽车(当然,你本身没有动,是那些车在移动),每超过一辆车就增加分值,如果碰到车或倒计时完成,游戏就会结束,把你的分数加入到排行榜,这个排行榜只保留前6名,所以要用到前面所学的“排序”类知识。思:程序设计
本节我们设计一款“俯视”的赛车游戏,也就是从天空中看下去的视角。游戏中我们控制自己的车辆在公路范围内左右移动,而其它车辆的克隆体不断地从上方移过来,如果碰到它们,游戏就会结束。为了制造车辆一直在“行驶”的错觉,我们需要给道路增加一种“向后移动”的效果,这实际上是通过两个背景来回切换来实现的;道路两边还各添加一个房屋角色,在游戏过程中它们产生的克隆体也会向下移动,这样就产生了动态行驶的效果。 程序角色设计如下:
行:编程实现
1、准备好游戏的背景和角色。鉴于Scratch中没有类似可代替的资源,建议你使用随书资源中的素材。你会注意到这里的背景是一条公路,两侧是绿色的草地,而背景的两个造型几乎完全一样,只有道路中心线的位置不同,这样在切换造型的时候会有一种道路在向下方“移动”的感觉。这个舞台上的角色除了主角外还有其它车辆、房屋,开始和结束的信息显示、终点线角色。在游戏开始时它们都是隐藏的。另外建立了得分和时间两个变量,以及一个“历史得分”列表。










微信扫码关注
抖音扫码关注