cocos2d Js 各類碰撞檢測

2022-05-15 02:07:22 字數 1178 閱讀 7271

這裡總結一下點、圓、矩形之間的簡單碰撞檢測演算法(矩形不包括旋轉狀態)

點和圓的碰撞檢測:

1.計算點和圓心的距離

2.判斷點與圓心的距離是否小於圓的半徑

iscollision: function

(point, circle)

else

}

點和矩形的碰撞檢測:

1.獲取矩形的左上角座標p1和右下角座標p2

2.判斷點p的x座標是否在p1和p2的x座標之間,並且p的y座標是否在p1和p2的y座標之間

iscollision: function

(point, rect)

else

}

圓和圓的碰撞檢測:

1.計算兩圓的圓心距

2.判斷圓心距是否小於兩圓的半徑之和

iscollision: function

(circle1, circle2)

else

}

矩形和矩形的碰撞檢測:

1.在水平方向上,判斷兩個矩形中點x座標的距離是否小於兩個矩形寬度的一半之和

2.在垂直方向上,判斷兩個矩形中點y座標的距離是否小於兩個矩形高度的一半之和

iscollision: function

(rect1, rect2)

else

if(rect1.x <= rect2.x && rect2.x >= rect1.x + width1/2 + width2/2)

else

if(rect1.y >= rect2.y && rect2.y <= rect1.y - height1/2 - height2/2)

else

if(rect1.y <= rect2.y && rect2.y >= rect1.y + height1/2 + height2/2)

else

}

圓和矩形的碰撞檢測:

iscollision: function

(circle, rect)

else

}

cocos2d js 入門之碰撞

1 cc.rectintersectsrect ra,rb 判斷兩個矩形是否相交,若相交,返回true 用例 var recta cc.rect 0,0,5,10 var rectb cc.rect 4,9,5,10 var r cc.rectintersectsrect recta,rectb i...

cocos碰撞檢測

兩個矩形的碰撞檢測,主要看boundingbox是否接觸 rect rc1 spriteauto getboundingbox rect rc2 spritectrl getboundingbox if rc1.intersectsrect rc2 則認為碰撞 兩個圓的碰撞檢測,看圓心距離 poin...

Cocos2d JS螢幕適配

有終端開發經驗的讀者應該對螢幕適配問題深感痛惡,因為這個世界實在有太多型別的手機和平板了,各種尺寸 首先,我們來認識三個術語 cocos2d js為我們提供的螢幕適配方法有如下幾種 1.自適應拉伸cc.resolutionpolicy.exact fit 該方案下,遊戲剛好鋪滿整個螢幕,但畫面的比例...