本文整理汇总了C++中CCNode::removeChild方法的典型用法代码示例。如果您正苦于以下问题:C++ CCNode::removeChild方法的具体用法?C++ CCNode::removeChild怎么用?C++ CCNode::removeChild使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CCNode
的用法示例。
在下文中一共展示了CCNode::removeChild方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: dovisit
void CCTextureWatcher::dovisit()
{
if (m_bFresh)
{
if (m_pTextures)
{
m_pTextures->removeAllObjects();
m_pTextures->release();
}
CCTextureCache::sharedTextureCache()->removeUnusedTextures();
m_pTextures = CCTextureCache::sharedTextureCache()->snapshotTextures();
m_nTotalPage = (m_pTextures->count() + NUM_PER_PAGE - 1) / NUM_PER_PAGE;
if (m_pTextures->count() > 0)
{
m_bFresh = false;
m_pList->reload();
}
}
CCNode *pParent = m_pLayer->getParent();
if (pParent)
{
if (pParent != CCDirector::sharedDirector()->getRunningScene())
{
pParent->removeChild(m_pLayer, true);
CCDirector::sharedDirector()->getRunningScene()->addChild(m_pLayer, 9998);
m_bFresh = true;
}
}
else
{
CCDirector::sharedDirector()->getRunningScene()->addChild(m_pLayer, 9998);
}
pParent = m_menuHide->getParent();
if (pParent)
{
if (pParent != CCDirector::sharedDirector()->getRunningScene())
{
pParent->removeChild(m_menuHide, true);
CCDirector::sharedDirector()->getRunningScene()->addChild(m_menuHide, 9999);
}
}
else
{
CCDirector::sharedDirector()->getRunningScene()->addChild(m_menuHide, 9999);
}
}
示例2: ccTouchBegan
bool TapSprite::ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent)
{
if(status->getAnimationFlg()) return false;
// タッチ開始処理
// タッチ位置を取得
CCPoint point = pTouch->getLocation();
// スプライトの大きさ
CCSize size = this->getTexture()->getContentSize();
// スプライトの範囲
CCRect rect = CCRectMake(this->getPositionX()-size.width/2, this->getPositionY()-size.height/2, size.width, size.height);
// タッチ位置がスプライト内ならイベント処理するのでtrueを返す
if(rect.containsPoint(point)){
status->setWaitFlg(false);
status->setChangeFlg(false);
CCNode* parent;
CCSprite* sprite;
sprite = status->getSprite(thisx,thisy);
parent = sprite->getParent();
parent->removeChild(sprite);
parent->addChild(sprite);
//this->setPosition(point);
this->setPosition(ccp(point.x,point.y + 25));
return true;
}else{
return false;
}
}
示例3: ClearPages
//#hy: 会崩溃,暂时不要调用
void CCtrlPage::ClearPages()
{
VECPAGES::iterator it = m_vecPageItem.begin();
VECPAGES::iterator endit = m_vecPageItem.end();
for (; it != endit; ++it)
{
LPPageItemAtt pItem = *it;
if (NULL != pItem && NULL != pItem->pObj)
{
if (m_pScrollView)
{
CCNode* pContainer = m_pScrollView->getContainer();
if (pContainer)
{
pContainer->removeChild(pItem->pObj, true);
}
}
if (pItem->bAutoDestory)
{
CC_SAFE_RELEASE(pItem->pObj);
}
}
CC_SAFE_DELETE(pItem);
}
m_vecPageItem.clear();
}
示例4: loadAnimation
void Image::loadAnimation(const char* filename, int capacity)
{
imageFile = filename;
spriteSheet = CCSpriteBatchNode::create(imageFile.append(".png").c_str(), capacity);
imageFile.erase(imageFile.length() - 4, 4);
spriteSheet->retain();
CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile(imageFile.append(".plist").c_str());
imageFile.erase(imageFile.length() - 6, 6);
spritesName = CCArray::createWithCapacity(capacity);
spritesName->retain();
for(int i = 1; i <= capacity; i++)
{
/*char num[10];
sprintf(num, "%04d", i);*/
spritesName->addObject(ScreateF("%s_%02d.png", filename, i));//imageFile.append(num).append(".png")));
}
CCSpriteFrame* firstFrame = CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName(((CCString*)spritesName->objectAtIndex(0))->getCString());
delegate->setDisplayFrame(firstFrame);
CCNode* parent = delegate->getParent();
parent->addChild(spriteSheet);
parent->removeChild(delegate, false);
spriteSheet->addChild(delegate);
runningAnimation = NULL;
}
示例5:
BloodBar::~BloodBar()
{
if (m_bgFrame)
{
CCNode* pParent = m_bgFrame->getParent();
if (pParent)
{
pParent->removeChild(m_bgFrame);
}
}
if (m_frFrame)
{
CCNode* pParent = m_frFrame->getParent();
if (pParent)
{
pParent->removeChild(m_frFrame);
}
}
}
示例6: Stop
void HSGameGuide::Stop()
{
CCNode* p = this->getParent();
if (!p)
{
return;
}
this->setTouchEnabled(false);
p->removeChild(this,false);
this->setVisible(false);
}
示例7: destroy
void Ship::destroy()
{
g_LIFE--;
CCPoint p = getPosition();
CCNode* myParent = getParent();
Explosion* exp = new Explosion();
exp->setPosition(p);
myParent->addChild(exp);
exp->release();
myParent->removeChild(this,true);
if (SOUND) {
SimpleAudioEngine::sharedEngine()->playEffect(s_shipDestroyEffect);
}
}
示例8: eraseSoldierMap
void TapSprite::eraseSoldierMap(int x,int y){
status->setEraseFlg(combo, x, y);
// 削除対象ノードにペアレントが存在する場合は切り離して捨てる
CCNode* parent;
CCSprite* sprite;
sprite = status->getSprite(x,y);
if(!sprite) return;
parent = sprite->getParent();
if(!parent) return;
parent->removeChild(sprite);
status->setSprite(NULL, x, y);
}
示例9: eraseSoldierInstance
void TapSprite::eraseSoldierInstance(CCObject* sprite){
CCNode* mParent;
if(!sprite) return;
mParent = ((CCSprite*)sprite)->getParent();
if(!mParent) return;
mParent->removeChild(((CCSprite*)sprite));
animation--;
if(animation == 0){
if(!eraseSoldier()){
loopx = 0;
loopy = 0;
fillSoldierAnim();
}
}
}
示例10: labelClear
void TapSprite::labelClear(){
std::vector<CCLabelTTF*>::iterator it = labelVec.begin(); // イテレータのインスタンス化
while( it != labelVec.end() ) // 末尾要素まで
{
// 削除対象ノードにペアレントが存在する場合は切り離して捨てる
CCNode* parent;
CCLabelTTF* label = *it;
if(!label) return;
parent = label->getParent();
if(!parent) return;
parent->removeChild(label);
it++;
}
labelVec.clear();
}
示例11: RemoveShadow
void SpriteDecorationBatchNode::RemoveShadow(CCNode* pNode)
{
if (pNode)
{
std::map<CCNode*,CCSprite*>::iterator iter = m_playerShadows.find(pNode);
if (iter != m_playerShadows.end())
{
CCSprite* pShadowSprite = (*iter).second;
if (pShadowSprite)
{
CCNode* pParentNode = pShadowSprite->getParent();
if (pParentNode)
{
pParentNode->removeChild(pShadowSprite);
}
}
m_playerShadows.erase(iter);
}
}
}
示例12: destroy
KDvoid Enemy::destroy ( KDvoid )
{
CCNode* pParent = this->getParent ( );
const CCPoint& tPoint = this->getPosition ( );
if ( !m_bActive )
{
Global::nScore += m_nScoreValue;
Global::playEffect ( PATH_SOUND_EXPLODE );
Explosion* pExplosion = Explosion::create ( );
pExplosion->setPosition ( tPoint );
pParent->addChild ( pExplosion );
spark ( tPoint, pParent, 1.2f, 0.7f );
}
Global::pEnemyContainer->removeObject ( this );
pParent->removeChild ( this, KD_TRUE );
}
示例13: RemovePageItem
//#hy: 会崩溃,暂时不要调用
void CCtrlPage::RemovePageItem(int nIndex)
{
if (static_cast<int>(m_vecPageItem.size()) <= nIndex || 0 > nIndex)
{
return ;
}
VECPAGES::iterator it = m_vecPageItem.begin();
std::advance(it, nIndex);
LPPageItemAtt pItem = *it;
if (NULL != pItem && NULL != pItem->pObj)
{
if (m_pScrollView)
{
CCNode* pContainer = m_pScrollView->getContainer();
if (pContainer)
{
pContainer->removeChild(pItem->pObj, true);
}
}
if (pItem->bAutoDestory)
{
CC_SAFE_RELEASE(pItem->pObj);
}
}
CC_SAFE_DELETE(pItem);
m_vecPageItem.erase(it);
if (0 == m_vecPageItem.size())
{
m_nPageIndex = -1;
}
ResetPagePos();
}
示例14: changeSoldier
void TapSprite::changeSoldier(int x, int y){
int i;
if(x){
i = abs(x);
}else{
i = abs(y);
}
int absx = 0;
if(x > 0){
absx = 1;
}else if (x < 0){
absx = -1;
}
int absy = 0;
if(y > 0){
absy = 1;
}else if (y < 0){
absy = -1;
}
int destx = thisx;
int desty = thisy;
for(int j = 0;j < i;j++){
if(x > 0){
destx++;
}else if(x < 0){
destx--;
}
if(y > 0){
desty++;
}else if(y < 0){
desty--;
}
CCSize size = this->getTexture()->getContentSize();
CCSprite* dest = status->getSprite(destx,desty);
CCNode* parent;
CCSprite* sprite;
parent = dest->getParent();
parent->removeChild(dest);
parent->addChild(dest);
sprite = status->getSprite(thisx,thisy);
parent = sprite->getParent();
parent->removeChild(sprite);
parent->addChild(sprite);
CCPointArray* pAry = CCPointArray::create(3);
pAry->addControlPoint(ccp(0,0));
dest->stopAllActions();
dest->setPosition(ccp((size.width * (destx)) + size.width/2 + 5, (size.height * (desty)) + size.height/2));
if(x && y){
pAry->addControlPoint(ccp(size.width * (-absx) * 0.75f, size.height * (-absy) * 0.25f ));
}
else if(x){
pAry->addControlPoint(ccp(size.width * 0.5f * (-absx), -size.height * 0.5f ));
}
else if(y){
pAry->addControlPoint(ccp(size.width * 0.5f,size.height * 0.5f * (-absy)));
}
pAry->addControlPoint(ccp(size.width * (-absx),size.height * (-absy)));
dest->runAction(CCCardinalSplineBy::create(0.125f, pAry,1.0f));
((TapSprite*)dest)->setPlace(thisx,thisy);
int tempStatus = status->getSoldier(destx, desty);
status->setSoldier(status->getSoldier(thisx, thisy),destx, desty);
status->setSoldier(tempStatus,thisx,thisy);
status->setSprite(status->getSprite(thisx, thisy),destx, desty);
status->setSprite(dest,thisx,thisy);
thisx = destx;
thisy = desty;
}
}