当触摸安卓上的后退按钮时,如何在cocos2d-x中移动到另一个场景

when touch back button on android how to move to another scene in cocos2d-x

本文关键字:cocos2d-x 移动 另一个 触摸 按钮      更新时间:2023-10-16

由cocos2dx创建的游戏。在活动场景中,当我触摸安卓上的后退按钮时,我怎么能退出呢!可以举同样的例子吗?。我是在构造函数中编写这段代码的。我想,如果我在android中按下后退按钮键,它会移动到另一个场景,有人能给我发送示例代码吗?这是我的代码,它应该移动到MainmenuScene,但不会移动。

auto _keyListener = EventListenerKeyboard::create();
      _keyListener->setEnabled(true);
      _keyListener->onKeyReleased =     CC_CALLBACK_2(Jig_GameLayer::onKeyReleased, this);
    _eventDispatcher-   >addEventListenerWithSceneGraphPriority(_keyListener, this);

void Jig_GameLayer::onKeyReleased(EventKeyboard::KeyCode keyCode, Event*   unused_event)
{   if(keyCode == EventKeyboard::KeyCode::KEY_BACK)
    {
       Director  :: getInstance()->replaceScene( TransitionCrossFade::                 create(1.0f ,MainmenuScene::create()));     
    } 
}

在init()中添加此项:

this->setKeyboardEnabled(true);

创建函数:

void MenuScene::onKeyReleased(EventKeyboard::KeyCode keyCode, Event *event){
    if(keyCode == EventKeyboard::KeyCode::KEY_BACK){
        onBackPressed();
    }
}

然后在"onBackPressed()"上处理后退按钮逻辑。然后你也可以在屏幕上添加一些"视觉"按钮,并从中调用BackPressed。

另外,不要忘记在.h文件中添加声明:

virtual void onKeyReleased(EventKeyboard::KeyCode keyCode, Event *event);
void onBackPressed();