(蓝图)虚幻4重制俄罗斯方块(六)-碰撞检测

版权声明:原创作品,请不要直接复制粘贴发布 https://blog.csdn.net/qq_30919603/article/details/83314981

思路

先想一下,什么时候会发生碰撞?与什么东西发生碰撞?

移动方块元素值为1,围墙元素值3,固定方块元素值为2,那么我们需要判定在定位点周围16个元素里,元素值为1的元素三个方向的元素的值,比如下降中的方块,在移动之前检测到下面一块方块如果为2,就固定,如果不为2就继续移动。

(一)检测碰撞

于是我们新建一个IsCanMove函数,设置3个布尔类型返回值默认值为1,遍历数组A,条件IsLoc缩小范围到16个元素,x去掉一头一尾,Y去掉末尾,分别设置左右下三个方向的布尔值,

 

在三个移动操作中使用分支语句

 

在设置向下移动之前需要对前面的FixBlocks函数进行一下拆分

将条件放入新的函数Tobottom中执行

同时替换Move函数中的FixBlocks函数为Tobottom 

最后我们在向下移动函数中,分支为假执行固定方块并重置方块 

不出意外的话,现在的方块已经能够在地图中下落,自由移动和堆叠了,马上就要竣工了,有没有一点小激动!!!

猜你喜欢

转载自blog.csdn.net/qq_30919603/article/details/83314981