我是cocos2d-x的新手。我正在使用cocos2d-x在xcode中開發一款遊戲。 在我的遊戲中,我有精靈動畫(人)和移動障礙物和硬幣。我與精靈動畫&硬幣相撞。當我獲得10個硬幣時,我將添加一個生命(爲生活添加一個精靈)。我的問題是當精靈動畫(人)&障礙之間發生碰撞,生活應該減少(我的意思是生活精靈應該刪除),但它不會被刪除。 我正在使用以下代碼。在cocos2d-x中刪除一個精靈
if(coincount%10==0)
{
lifecount=lifecount+1;
}
if(lifecount==1)
{
life = CCSprite::create("life.png");
life->setPosition(ccp(winwsize/2, winhsize/1.08));
this->addChild(life, 5);
}
else if(lifecount==2)
{
life1 = CCSprite::create("life.png");
life1->setPosition(ccp(winwsize/1.8, winhsize/1.08));
this->addChild(life1, 5);
}
else if (lifecount==3)
{
life2 = CCSprite::create("life.png");
life2->setPosition(ccp(winwsize/1.6, winhsize/1.08));
this->addChild(life2, 5);
}
if (manRect.intersectsRect(obs5Rect))
{
if(lifecount>=1)
{
lifecount=lifecount-1;
this->scheduleOnce(schedule_selector(PlayScene::remove),0.5f);
}
void PlayScene::remove()
{
if(lifecount==0)
{
this->removeChild(life, true);
}
else if(lifecount==1)
{
this->removeChild(life1, true);
}
else if(lifecount==2)
{
this->removeChild(life2, true);
}
但是,當障礙物與精靈動畫(人)碰撞時,精靈不移除。 請任何人都可以幫助我找到解決方案。謝謝。
我編輯我的問題。在調用remove函數之前,我減少了lifecount = lifecount-1。 – arunkumar
那麼,這是否意味着這個建議不能解決問題?你也可以嘗試調用'life-> removeFromParentAndCleanup(true)'而不是'this-> removeChild(...)' – Losiowaty