关于自定义事件 跪求了 我实在是不知道怎么回事了。

有这样一个需求,假设在主场景中,有金币和银币两种货币,级别为1级时,分别每分钟生产十个。

我在菜单场景中的开始游戏按钮中,发送了一条消息(该消息包含当前等级),然后跳转到游戏主场景(注意!菜单与主场景分别为两个场景,不是层!),准备接收该消息,显示正确的金币数量以及玩家所包含的其他信息(均由该消息所传送来的)。

下面是代码,求指教。谢谢!!:12:

试了一下没任何问题

auto s1 = Scene::create();
Director::getInstance()->runWithScene(s1);
auto btn = MenuItemFont::create("change scene");

Director::getInstance()->getEventDispatcher()->addCustomEventListener("o_o", ](EventCustom* e){
    CCLOG("recevie event-> %s, data-> %s ",e->getEventName().c_str(),(const char*)e->getUserData());

});

btn->initWithCallback(](Ref*){
    auto s2 = Scene::create();
    Director::getInstance()->replaceScene(s2);
    Director::getInstance()->getEventDispatcher()->dispatchCustomEvent("o_o", (void*)&("llso"));
});
auto menu = Menu::create(btn, NULL);
s1->addChild(menu);
menu->setPosition(Vec2(300, 400));

对比一下看看咯

你这是几个文件阿

跟几个文件没关系,你这样写监听器不会马上被添加到列表里面,而是要等下一帧,所以是接收不到的。你可以提前把监听器添加好,或者把事件放到下一帧分发。