cocos2d-x에서 오브젝트를 삭제하는것은 굉장히 쉽다.

C++에서는 delete를 직접해주어야하지만 cocos2d-x에서는 부모가 없다면 엔진이 스스로 삭제해준다.


그렇기에 사용할때는 addChild를 통해 자식으로 넣어주지만

삭제할때에는 removeFromParent()를 통해 부모에서부터 제거해주면 엔진이 알아서 삭제하게된다.

1
2
3
4
5
6
7
8
void GameLayer::update(float delta)
{
    Sprite* pSprite = (Sprite*)getChildByTag(100);
    pSprite->setPositionX(pSprite->getPositionX() + 30.0f * delta);
 
    if (pSprite->getPositionX() > 1300)
        removeFromParent();
}
cs


부모가 자식들을 전부 죽이고 싶다면 removeAllChildren()을 통해 전부 삭제할수 있다.

1
2
3
4
5
void GameLayer::sethuddleerase()
{
    auto pNode = getChildByTag(700);
    pNode->removeAllChildren();
}
cs



'프로그래밍 공부 > cocos2d-x' 카테고리의 다른 글

충돌체크하기  (0) 2018.03.27
터치, 마우스, 키보드 사용하기  (0) 2018.03.27
Update 사용하기  (0) 2018.03.26
간단한 액션기능  (0) 2018.03.26
레이어 및 스프라이트 생성하기  (0) 2018.03.26
Posted by misty_
,