0
我在檢測Cocos2D中的碰撞時遇到了問題,因爲我用來查看對象是否碰撞的座標總是錯誤的。Cocos2D中的座標系
我有以下對象:
- 所有從平鋪地圖圖層精靈,包含所有的障礙;
- 作爲hello世界圖層(我正在使用的主圖層,它返回場景)的子圖像的另一個精靈的子圖形。這些精靈在地圖上不斷移動,並可能與障礙物相撞。
爲了檢測碰撞我只是看一下2精靈的邊界框之間的距離:
inline BOOL collision(CGRect r1, CGRect r2)
{
CGPoint c1= RectCenter(r1);
CGPoint c2= RectCenter(r2);
BOOL result= (fabs(c1.x-c2.x)<MAX(r1.size.width/2.0,r2.size.width/2.0)) && (fabs(c1.y-c2.y)<MAX(r1.size.height/2.0,r2.size.height/2.0));
return result;
}
我用boundingBox的屬性來獲取的座標和每一個角色的大小。但座標是錯誤的,它不能正確檢測碰撞。
我很確定我做錯了什麼,有人能告訴我如何管理所有的精靈擁有相同的座標系嗎?我也嘗試convertToWordSpace,但沒有運氣。
首先,爲什麼不使用'CGRectIntersectsRect'? – Till 2013-02-27 01:43:29
我不知道它存在,謝謝。 – 2013-02-27 09:32:12