我正在尝试用 编写一些游戏cocos2d-x
,并且我正在尝试定义一些自定义事件on_game_start
,例如on_game_end
等。我搜索了论坛并在网上搜索,似乎没有太多提及。那么,有人请给我一些提示吗?谢谢。
问问题
4026 次
2 回答
1
cocos2d-x 中似乎没有全局事件之类的东西。所以我尝试使用 CCNotificationCenter 作为替代方案。
这是我如何使用的代码:
//Send event.
CCNotificationCenter::sharedNotificationCenter()->postNotification(EMEMY_KILLED_MSG, (CCObject*)data);
//Listen event.
void GameManager::initListener()
{
CCNotificationCenter::sharedNotificationCenter()->addObserver(this, callfuncO_selector(GameManager::onEnemyKilled), CLICK_TEST_MSG, NULL);
}
//Handling event
void GameManager::onEnemyKilled(CCObject* obj)
{
CCMessageBox("onEnemyKilled", "Title");
//Remove event listener.
CCNotificationCenter::sharedNotificationCenter()->removeObserver(this, EMEMY_KILLED_MSG);
}
于 2013-05-27T04:40:34.983 回答
0
我认为您的“自定义事件”等于“进入/退出游戏场景时的函数调用”。因此,您可以编写一个初始化函数void on_game_start()
,并将其添加到场景的函数onEnterTransitionDidFinish()
中,该函数由引擎自动调用。另外你需要实现你自己的继承自的场景类CCScene
,不要忘记onEnterTransitionDidFinish()
在你自己的子类中实现这个虚函数。
于 2013-05-24T05:09:06.620 回答