嗨!大家好,我是小蚂蚁。
今天,我们来继续学习下一个模块:形状碰撞检测。
在游戏开发中,我们所说的“碰撞”经常指的是物理碰撞,什么是物理碰撞呢?一般的在游戏开发工具中都会包含一个叫做“物理引擎”的东西,它的作用就是在游戏中模拟出现实中的物理效果。例如,我们扔一个东西,这个东西会因为重力而下落,最终落到地上,与地面发生碰撞。在游戏中,我们可以借助物理引擎,来模拟出东西下落掉到地面上的效果。当东西掉到地面上时,我们就说这个东西与地面发生了碰撞。
但是,在俄罗斯方块这个游戏中,是不需要使用物理引擎的,所以这里的“碰撞”指的并不是物理碰撞,而是通过计算来判断两个方块是否相邻,如果相邻,我们就说它们发生了“碰撞”。
在俄罗斯方块游戏中,“碰撞”一共包含下面的这 4 种情况:
1.当形状达到最下方一行时,碰撞,形状停靠。
2.当形状下落时,任何一个位置碰到下方已有的方块,碰撞,形状停靠。
3.当形状向左/右移动时,两侧碰到任何一个已有方块,碰撞,形状不能再向两侧移动。
4.当形状切换时,如果新状态碰到任何一个已有方块,碰撞,形状不能切换到新状态。
今天这篇文章,我们先了解一下前两种情况。
下边界的碰撞
如图,当一个形状达到了最下方的第一行时,它就不能够再继续向下移动