2

Android で戻るボタンを押して Cocos2d-x ゲームを終了したいです。このためCCLayer::keyBackClickedに、クラスでメソッドをオーバーロードし、 fromGameSceneも呼び出しました。ただし、戻るボタンを押したときにメソッドが呼び出されることはなく、メッセージで確認しました。これを機能させるには、他に何をしなければなりませんか? このトピックについて多くのことを検索し、上記の解決策を見つけましたが、機能していません。setKeypadEnabled(true)GameScene::initkeyBackClickedCCLog

これが私のコードです

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);
}

助けてください。

4

5 に答える 5

1

呼び出してキーパッドを有効にしますthis->setKeyPadEnable(true);

onKeyReleased メソッドをオーバーライドします。

void GameScene::onKeyReleased(EventKeyboard::KeyCode keyCode, cocos2d::Event *event)
{
    // Back button pressed
    if (keyCode == EventKeyboard::KeyCode::KEY_BACKSPACE) {
        Director::getInstance()->end();
        exit(0);
    }
}
于 2014-01-20T12:01:46.557 に答える
0
void GameScene:: keyBackClicked(void) 
{
    CCLOG("cclayer key back clicked");
    exit(0);
}

も有効にする

this->setKeyPadEnable(true);
于 2013-11-13T11:40:52.307 に答える