我想退出我的cocos2d-x游戏,在android中按后退键。为此,我重载了类中的CCLayer::keyBackClicked方法,并从GameScene调用了setKeypadEnabled(true)。但是,在按下back按钮时,GameScene::init方法从未被调用,我已经用keyBackClicked消息进行了检查。我还需要做些什么才能让这件事成功?我已经在这个话题上搜索了很多,找到了上面的解决方案,但是没有成功。
这是我的密码

bool GameScene:: init() {
    if(CCLayer::init()) {
        CCLog("Init");
        this->setKeypadEnabled(true);
        return true;
    }
    return false;
}

void GameScene:: keyBackClicked(void) {
    CCLayer::keyBackClicked();
    CCLOG("cclayer key back clicked");
    exit(0);
}

请帮忙。

最佳答案

如果游戏场景扩展了cclayer类-

void GameScene:: keyBackClicked(void) {
    CCDirector::sharedDirector()->end();

    #if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
        exit(0);
    #endif
}

我认为先结束导演然后退场是很重要的。

09-05 03:46