2013-07-28 105 views
0

我是新來的cocos2d,我在java中使用eclipse中的cocos2d lib做一個遊戲。我想做一個像素碰撞。我的遊戲是2D遊戲,一個球在迷宮中運行,我想檢測迷宮壁和球之間的碰撞,我不能在CCSprite中使用getpixel。那我該怎麼做呢? CCSprite.getpixel不存在。我唯一能做的檢查邊界2個sprite..but之間盒子碰撞不知道該怎麼辦像素比較逐點像素點..如何在cocos2d中檢測到像素碰撞android

public boolean isCollisionDetected(CCSprite maze,CCSprite ball) 
{ 


    CGRect bounds1 = maze.getBoundingBox(); 
    CGRect bounds2 = ball.getBoundingBox(); 


    if(CGRect.intersects(bounds1, bounds2)){ 
/* i want to do pixel detection in here,actually i want to do something like this 
      for (int i = collisionBounds.left; i < collisionBounds.right; i++) { 
       for (int j = collisionBounds.top; j < collisionBounds.bottom; j++) { 
        int sprite1Pixel = getBitmapPixel(sprite1, i, j); 
        int sprite2Pixel = getBitmapPixel(sprite2, i, j); 
        if(isFilled(sprite1Pixel) && isFilled(sprite2Pixel)) { 
         return true; 
        }*/ 


     return true; 

    } 
     return false; 

}

但cocos2d的,精靈不支持此種方法。

+0

你可以添加一個粗略的圖像,你究竟想要什麼 –

回答

0

當涉及到圓的碰撞檢測時,您必須比較圓的半徑與圓的中心到另一個對象的距離。如果圓的半徑等於或小於圓的中心與物體之間的距離,則會發生碰撞。

我希望有幫助。

+0

它的圓圈,但如果例如採取一個人或他的身體,你會怎麼做? – ManishSB