同学们,玩过闯迷宫游戏吗?当我们控制人物或者汽车之类的角色穿越迷宫的时候,如果不小心碰撞到墙上会怎么样呢?
角色不会穿墙而过,而是会后退,然后控制继续前行。而且在移动过程中,有可能是碰到前面的墙壁,有可能是碰到后面的墙壁,还有可能是左侧或者右侧的墙壁。
那么这个时候,我们可以通过给角色添加碰撞检测感应器来检测角色与墙壁之间的碰撞,这个感应器包括四条线段,左右侧各一条垂直的,前后侧各一条水平的,同时根据背景色选择线条的填充颜色,例如下图填充的是灰色线条,因为选用的迷宫背景中的通道是灰色的,这样因为同色的原因我们在舞台区就看不到这些感应器,但这些感应器却实实在在存在。
然后我们可以使用下面这段脚本块来检测碰撞墙壁,前提是墙壁颜色是深灰,大家可以通过调色板的拾色器获取墙壁的准确颜色值。
上面的脚本是指角色左侧碰到了墙壁,所以,我们发出了左侧碰撞的消息,然后就是调整水平方向的速度(左右对应的就是水平方向哦),左侧碰撞,角色不能在继续向着左侧移动,所以把水平速度x设为正数,这样移动的时候可以向着右侧移动(前提是角色面向的是90度方向)。
如果碰撞发生的时候是右侧碰撞,那我们就可以将水平速度设为负数,如下图:
以此类推,当前侧或后侧发现碰撞的时候,需要调整的就是垂直方向的速度,同学们知道如何调整吗?赶紧动手动脑亲自试一试吧!