矩形的碰撞检测(模仿俄罗斯方块)

  以前一直以为玄之又玄的碰撞检测算法,其实也不过是一些加减法。看来还是写的太少,大多时候只是停留在望而止步的层次。

矩形的碰撞检测原理就是两个矩形的x值+宽度和y值+高度的各种比较。

 

function(c1,c2{
    return !{
                     b1.x + b1.w < b2.x ||
                     b1.y + b1.h < b2.y ||
                     b2.x + b2.w < b1.x ||
                     b2.y + b2.h < b1.y
                }     

  意思就是矩形1的x加上矩形1的宽度是否小于矩形2的x,这样就能检测到当矩形1在矩形2的左边的时候,两个矩形在水平方向上是否有重叠;垂直方向同理,把x改为y,宽度改为高度即可。

  碰撞检测的原理搞清楚了之后其他的就是小意思了,利用动画帧即可做出方块下落的动画。  

  完整代码如下:

 




    
        
        碰撞检测
        
    

    
        

        
    

 

转载于:https://www.cnblogs.com/11lang/p/6082811.html

你可能感兴趣的:(矩形的碰撞检测(模仿俄罗斯方块))