2011-04-03 37 views
0

我是新來的objective-c。我目前正在使用cocos2d和box2d進行遊戲。讓我詳細描述我的遊戲:如何根據box2d中的位置來摧毀身體?

在我的遊戲中,我有一個主角站在建築物的頂部。在大樓下面有這條路。敵人從道路以各種隨機速度從右邊進入屏幕並從左邊退出。我已經創建的敵人,b2_dynamicBodies和使用SetLinearVelocity設置隨機速度爲它們中的每()。主角射擊敵人。當射彈擊中敵人時,射彈和敵人都被毀滅。我想要做的是,這是不出手和敵人移出畫面,我想一旦他們搬出屏幕由cheking它們的座標摧毀這些敵人。我嘗試過使用world-> DestroyBody(body),但它不起作用。請幫助我!

p.s.我沒有創造的敵人,不同的個體的身體,但我有這有助於增強體內並使其移動,然後我呼籲與時間間隔內的init方法的方法。

回答

1

將標籤分配給sprite.Here我正在使用10.check sprite通過獲取它們的x位置移出屏幕。如果它小於0或大於480(對於橫向)。然後使用以下破壞該機構的代碼。

for (b2Body* b = world->GetBodyList(); b; b = b->GetNext()) 
{ 

    if (b->GetUserData() != NULL) { 

     CCSprite *temp1 = (CCSprite*)b->GetUserData(); 

     if(temp1.tag == 10) 
     { 
      NSLog(@"Destroying here"); 
          world->DestroyBody(b); 
      [self removeChild:temp1 cleanup:YES]; 


     } 

    } 

}

+0

感謝名單了很多。這工作! :-) – 2011-04-12 09:48:20