?教一?effect的?

??中CLICK一???,?生特效。
?在的??的,DEBUG下面提是?


CCNODE.cpp
CCAssert( child->m_pParent == NULL, "child already added. It can't 
be added again");

RELEASE下正常。

代?如下:


void NinjiaScene::updatePowerup(cocos2d::ccTime dt)
{
	//m_powerup->SetActive(true);
	CCSprite *pB = CCSprite::spriteWithSpriteFrameName("splash.jpg");
	CCActionInterval* Shaky3D = Shaky3DDemo::actionWithDuration(5);
	CCNode *pNode = CCNode::node();

	if (m_powerup->isTouched())
	{
		CCMutableArray<CCSprite*>::CCMutableArrayIterator it;
		CCMutableArray<CCSprite*> *pMonsterToDelete = new CCMutableArray<CCSprite*>;
		
		// Add effect
		addChild(pNode,0,1);
		pNode->runAction(Shaky3D);
		pNode->addChild(m_SptBkg,0);

其中, updatePowerup???powerup的按?,m_SptBkg?NinjiaScene???的成?,?型?CCSprite*.??是在NinjiaScene::init()中,我已??了addChild(m_SptBkg)了。大家?忙看看


bool NinjiaScene::init()
{
    bool bRet = false;
    do 
    {
       ...
       ...
              // 3. Add add a splash screen, show the cocos2d splash image.
		CCSize size = CCDirector::sharedDirector()->getWinSize();
		CCSize winSize = CCDirector::sharedDirector()->getWinSize();
		m_SptBkg = CCSprite::spriteWithSpriteFrameName("splash.jpg");
		m_Vegeta = CCSprite::spriteWithSpriteFrameName("vegeta.png"); //,CCRectMake(0,0,256,224));
        CC_BREAK_IF(! m_SptBkg);
		CC_BREAK_IF(! m_Vegeta);
		
		m_SptBkg->setPosition(ccp(size.width/2, size.height/2));
		m_Vegeta->setPosition(ccp(m_Vegeta->getContentSize().width/2, winSize.height/2));
		this->addChild(m_Vegeta,1,1);

		this->addChild(m_SptBkg,0,0);
		demoEffect.setBackgroup(m_SptBkg);
		
		
		//Add behavior
		initialScore();
		initpowerup();
                              
                             ...

        bRet = true;
    } while (0);

	return bRet;
}