2014-09-02 102 views
0

我是初學者,目前我正在使用cocos2d-x2.2.3在x-code中開發一個類似2048的遊戲。在我的遊戲中,我必須碰撞兩個精靈。碰撞時,我已經卸下兩個spites並添加相同location.I一個新的精靈正在使用下面的代碼:如何刪除精靈並再次使用相同的精靈

if(_player1->boundingBox().intersectsRect(_player2->boundingBox())) 
{ 
this->removeChild(_player1, true);//it is not removing properly 
this->removeChild(_player2, true); 
_player1 = new CCSprite(); 
_player1->initWithFile("2.png"); 
_player1->setPosition(ccp(position.x,position.y)); 
this->addChild(_player1);//I have to add same player again 
} 

在此先感謝

回答

0

如果你的精靈不會被刪除,可能是因爲它的引用計數不爲0刪除後。 檢查,如果你保留它或添加入一些容器

+0

感謝您的回覆...... – 2014-09-22 06:24:47

0

首先,在所有嘗試使用removeChild之與「假」如果不工作,你可以使用:

_player1->removeFromParent(); 

但我建議改變精靈紋理(對於玩家1)並改變位置。

1
if(_player1->boundingBox().intersectsRect(_player2->boundingBox())) 
{ 

this->removeChild(_player2, true); 

if(_player1) 
{ 
this->removeChild(_player1, true); 


_player1 = new CCSprite(); 
_player1->initWithFile("2.png"); 
_player1->setPosition(ccp(position.x,position.y)); 
this->addChild(_player1); 
} 

}