今天制作一段脚本,以简单说明如果在舞台上制作带有区域限制移动的脚本
如GIF,青蛙角色随鼠标移动,但仅能在绿色横线内移动,但按下鼠标,尝试跳跃去捕抓昆虫,若碰到昆虫则PASS,碰到鳄鱼则FAIL
角色:青蛙、鳄鱼、昆虫、横线
背景:随意
首先制作青蛙脚本,我们都知道,让角色随鼠标移动,用以下代码
那么,给它限制可移动的区域,我们加入一段代码以限制Y坐标的位置
从上述代码中可见,在重复执行的指令内,有两个平行的条件
1、随鼠标指标移动
2、若Y坐标>-126(-126就是绿线的Y坐标),会移动至当前X坐标和Y坐标-126
代码的含义可理解为,我可以让你随鼠标移动,但当你超过Y-126,我要让你继续待在Y-126!!
接下来,我们要加入青蛙跳跃的代码
由于上一段代码我们限制了青蛙的移动区域,如果直接加入跳跃命令,会导致代码冲突出现BUG,因此我们将跳跃代码和限制移动代码写成相互排他,含义为:
当按下鼠标,我允许你跳跃至舞台上方,否则,你还是继续待在Y
完成青蛙脚本后,我们添加青蛙与鳄鱼和昆虫的互动代码
我们将碰到鳄鱼或昆虫的代码另起一段,不用嵌套入青蛙移动和跳跃代码内,这样维护代码会比较清晰
同样我们为本程序加入了PASS和FAIL角色
点击绿旗运行程序,会发现有个小BUG
留意右上角,当我们点击绿旗,青蛙会从舞台右上方开始,so,我们可以在程序启动和青蛙移动代码启动中间用控制命令隔开
课后语:
SCRATCH代码中本无限制区域移动的命令,我们通过用算法的组合,成功制作出一段区域限制移动的代码,并从中也了解到坐标轴的定义;区域限制移动代码也是在很多游戏中都经常用到;在本课程中,还有关键的一步是测试,通过测试,我们去除了BUG同时也能让用户体验更友好
最后,感谢阅读!!
领取专属 10元无门槛券
私享最新 技术干货