Cocos2dx 콜백함수 사용하기


제가 cocos2dx 를 사용해서 게임이나 앱을 개발할 경우에 

콜백함수를 사용하는 빈도는 생각보다 많았습니다. 

그래서 사용하기 쉽게 정리해 봅니다. 

나중에 제가 까먹었을때 참고해 볼려구요 ㅎㅎ


예제, 미사일을 쏘고 난뒤 미사일을 특정 위치에 왔을때 미사일 객체를 지움

Example, remove missile reached on destination by callback function


void FighterScene::launchMissile()

{

// 미사일 생성

Sprite* missile = Sprite::createWithSpriteFrameName("fighter/missile.png");

this->addChild(missile);


Vec2 From = Vec2(100,100);

missile->setPosition(From);


Vec2 To = Vec2(500, 100);

float Speed = 1.0f;

auto moveTo = MoveTo::create(Speed, To);    // 미사일 목표지점 설정


// 미사일 지우는 콜백함수, 인자로 생성된 미사일 객체를 넘겨줌

auto cbDelete = CallFunc::create(CC_CALLBACK_0(FighterScene::cbDeleteMissile, this, missile));

missile->runAction(Sequence::create(moveTo, cbDelete, NULL));

}


void FighterScene::cbDeleteMissile(Sprite* ipMissileObj)

{

this->removeChild(ipMissileObj, true);

}