scratch3.0教程 赛道效果

赛车游戏中,需要如下的赛道运动效果
在这里插入图片描述
实际上小猫的y坐标不动,赛道相对于小猫是向下运动,产生小猫在向前跑的效果。

这种简单的赛道运动效果使用两个赛道角色就可以实现了,多赛道的情况同理

示意图

下图中红框表示屏幕,两个赛道是两个角色,赛道2比赛道1高360,衔接地方一定要严丝合缝,一起向下移动
在这里插入图片描述

变量

我们先添加一个变量【赛道位置1】,初始化为0
其实一个变量就可以完成,,不过我们为了计算方便,添加另一个变量【赛道位置2】,让它保持【赛道位置2】=【赛道位置1】+360

初始值设定

赛道1初始位置0,屏幕总共高度360,所以赛道2的初始位置为360.(都是y坐标)

循环

每一次循环中,设定两个变量同时减小10,
当变量值**【赛道位置1】<-360**,赛道1不显示了(下图3中的黄框),循环效果中,需要移动到【赛道位置1】+720(下图3中的蓝框)
在这里插入图片描述
同理,对于【赛道位置2】,
【赛道位置2】=【赛道位置1】+360
-360<【赛道位置1】<360

所以赛道2位置的范围应该是
0<【赛道位置2】<720
当【赛道位置2】>720,应该变为【赛道位置2】-720

广播

通过设定已经有了两个赛道的位置,在小车运行的循环当中,只需要告诉两个赛道角色应该移动到的位置,就可以了。计算之后,进行一次广播【移动】,两个赛道角色接受到【移动】广播时,把y移动到各自的位置,就实现了赛道循环的效果啦。

实现积木

小猫积木
在这里插入图片描述
赛道1积木
在这里插入图片描述
赛道2积木
在这里插入图片描述

扩展

这里只展示了匀速运动的思路,如果想通过方向键设置加速、减速,也是很容易实现的,大家感兴趣可以自己拓展

猜你喜欢

转载自blog.csdn.net/weixin_43466886/article/details/90143606