• Cocos3.0 的android返回键功能实现


    比如:Game.h   Game.cpp

    头文件Game.h中定义:

    void onKeyReleased(EventKeyboard::KeyCode keyCode,Event * pEvent);


    Game.cpp文件里实现:

    auto listener = EventListenerKeyboard::create(); //和回调函数绑定 
    
    listener->onKeyReleased = CC_CALLBACK_2(Game::onKeyReleased,this); //加入到事件分发器中 
    
    Director::getInstance()->getEventDispatcher()->addEventListenerWithSceneGraphPriority(listener,this); 

    //返回键退出

    void Game::onKeyReleased(EventKeyboard::KeyCode keyCode,Event * pEvent) 
          { 
              Director::getInstance()->end(); 
          } 

    //注意,此方法仅仅支持Android平台下,在windows平台下编译会出现错误。建议用windows平台编译的时候把此方法注销掉。

    //上述方法仅仅点击一次返回键既能够退出。假设须要2次退出,能够採用以下这种方法:

    void Game::onKeyReleased(EventKeyboard::KeyCode keyCode,Event * pEvent) 
    { 
    <span style="white-space:pre">	</span>//把keycode的枚举值转换成int 手机的返回键键值为6
    <span style="white-space:pre">	</span>auto x = (int)_keyCode;
    <span style="white-space:pre">	</span>//假设点击返回键一次
    <span style="white-space:pre">	</span>if (x == 6)
    <span style="white-space:pre">	</span>{
    <span style="white-space:pre">	</span>//记录点击次数的变量,在头文件内声明并赋值0
    <span style="white-space:pre">	</span>keydown++;
    <span style="white-space:pre">	</span>//假设点击两次则退出游戏
    <span style="white-space:pre">	</span>if (keydown == 2)
    <span style="white-space:pre">	</span>{
    <span style="white-space:pre">	</span>Director::getInstance()->end();
    <span style="white-space:pre">	</span>}
    <span style="white-space:pre">	</span>//否则就显示文字。“再按一次退出”
    <span style="white-space:pre">	</span>else
    <span style="white-space:pre">	</span>{
    <span style="white-space:pre">	</span>//添加的一个精灵图片。就是显示的“再按一次退出游戏”
    <span style="white-space:pre">	</span>auto label1 = Sprite::create("again.png");
    <span style="white-space:pre">	</span>addChild(label1);
    <span style="white-space:pre">	</span>//在给文字加一个消失动画和一个回调函数
    <span style="white-space:pre">	</span>//动画消失以后回调函数删除该Node,并把keydown赋值0
    <span style="white-space:pre">	</span>//假设动画没有消失而又点击了返回键则直接退出游戏
    <span style="white-space:pre">	</span>//两次点击返回键的时间间隔为0.1+1.5=1.6,这个时间能够自己设置
    <span style="white-space:pre">	</span>auto fadeout = FadeOut::create(0.1f);
    <span style="white-space:pre">	</span>label1->runAction(Sequence::create(DelayTime::create(1.5f),fadeout, CallFunc::create(CC_CALLBACK_0(againExit::oncallback, this, label1)), NULL));
    <span style="white-space:pre">	</span>}
    <span style="white-space:pre">	</span>}
    }


      

  • 相关阅读:
    Business Objects 基础
    常用的bw基础知识
    SAP BW传输请求操作步骤
    FI/CO 财务基础知识
    SAP财务常用数据源概览
    HANA 和 SAP NetWeaver BW
    Request.QueryString中文乱码
    完全备份类型
    SQL Server备份属于I/O密集型操作
    SQL Server 通过发布订阅 实现数据库同步
  • 原文地址:https://www.cnblogs.com/liguangsunls/p/6744071.html
Copyright © 2020-2023  润新知