2011-11-07 75 views
0

不同CCNodes CCSprites的cocos2d的碰撞檢測我有這樣一個層次結構:與不同的位置和旋轉

場景
  - 遊戲世界(CCLayer Z:0)
        - 播放器(CCSpritež :1)
  - spriteWorld(CCNode Z:0)
        - bgSprite(CCSprite Z:0)
              - 敵人(CCSprite Z:0)

的spriteWorld被旋轉,並且bgSprite被四處移動,以便放置在bgSprite任何CCSprites具有旋轉移動的座標系相對於遊戲世界座標系。

我需要檢測兩個放在gameWorld和bgSprite上的CCSprites之間的衝突。現在,我在這裏看到的這篇文章:

Cocos2D CCNode position in absolute screen coordinates

,可以給我相對於屏幕的每個精靈的位置,但我怎麼然後計算或獲得這些精靈邊框?這些邊界框都是通過spriteWorld旋轉進行旋轉,但每個Sprite也都在bgSprite上進行旋轉。

聽起來像很多瘋狂的數學對我來說,我是一個數學的傻瓜,所以我真的很需要幫助。

謝謝 Særen

回答

1

事實上,cocos2D上有碰撞檢測不直接支持,所以你需要做你對自己的所有計算。

無論如何,你可以使用像chipmunk-physicsBox2D這樣的框架爲你做。基本的想法是,你將身體/形狀與你的精靈聯繫起來,然後設置一個碰撞回調,當碰撞被檢測到時將被觸發,而不用擔心數學問題...

看看這篇文章關於using Box2D just for collision detection