Cocos2d-x3.8.1暂停与继续游戏

发表于2018-03-19
评论0 688浏览
大多数游戏都有暂停游戏和继续游戏的功能,在Cocos2d-x中这个功能要怎么去实现,可以通过使用在CocosStudio中创建按钮控件然后在Cocos2d-x3.8.1版本中加载cbs文件来实现此功能。

暂停和继续游戏代码实现:

获取暂停按钮
auto pause=static_cast<Button*>(Helper::seekWidgetByName(static_cast<Widget*>(brand),"pause"));

触发点击事件
pause->addTouchEventListener([this](Ref* ref,Widget::TouchEventType type)
{
if (type==Widget::TouchEventType::ENDED)
{

暂停游戏
this->onExit();

添加关闭提示窗口
auto menu=settingMenu::create();
//错误写法:this->addChirldren(settingMenu::create());由于this继承与LayerColor,onExit()已经暂停该图层

Director::getInstance()->getRunningScene()->addChild(menu);
//由于该图层为暂停的对象,该图层的场景其他图层并未被暂停,故可以先获取该场景,然后把提示窗口添加到该场景内
}
});
//添加自定义事件
_eventDispatcher->addCustomEventListener("continueGame",[this](EventCustom* event)
{
//继续游戏
this->onEnter();
});
//在提示窗口中定义事件,类似于Qt中emit发射信号
Director::getInstance()->getEventDispatcher()->dispatchCustomEvent("continueGame");




如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引

标签: