zoukankan      html  css  js  c++  java
  • quick-cocos2d-x android返回键监听并实现原生退出对话框

    这两天最终闲了一下,就顺手又把quick捡起来又学了学,一直都认为quick比cocos2dx那套lua绑定要方便很多,今天试了下android返回键的监听,还是挺好弄的,所以就有了这篇。

    首先说明一下使用的quick版本号——2.2.5。

    直接上代码

    function MainScene:addBackEvent()
        if device.platform == "android" then
            self.touchLayer = display.newLayer()
            self.touchLayer:addNodeEventListener(cc.KEYPAD_EVENT, function(event)
                if event.key == "back" then  
                    --CCDirector:sharedDirector():endToLua()
                    local javaClassName = "com/cocos2dx/testgame/Testgame"
                    local javaMethodName = "exit"
                    luaj.callStaticMethod(javaClassName, javaMethodName)
                end
            end)
            self.touchLayer:setKeypadEnabled(true)
            self:addChild(self.touchLayer)
        end 
    end
    比較好理解,创建一个层,为该层加入�一个事件监听,这个事件监听的类型是keypad,假设key的值是back那么就运行里面的代码了,假设不须要显示android原生的对话框,仅仅要关闭程序,仅仅须要运行上面代码中凝视的部分就能够了。

    2.2.3之后的版本号在加入�事件监听上与之前有所不同,这里须要注意下。

    当然做软件嘛,好歹有个温馨提示,防止用户无意点到退出游戏就不友好了,所以这里调用了一下android原生对话框来显示。quick提供了一个luajavabridge这个sample,能够非常轻松调用到android中的静态函数。

    这里还是贴一下android中调用的函数代码

    public static void exit() {
    		instance.runOnUiThread(new Runnable() {			
    			@Override
    			public void run() {
    				Builder builder = new Builder(instance);
    				builder.setTitle("提示");
    				builder.setMessage("确定退出吗");
    				builder.setIcon(android.R.drawable.ic_dialog_info);
    				builder.setPositiveButton("确定", new OnClickListener() {
    					
    					@Override
    					public void onClick(DialogInterface dialog, int which) {
    						System.exit(0);						
    					}
    				});
    				builder.setNegativeButton("取消", new OnClickListener() {
    					
    					@Override
    					public void onClick(DialogInterface dialog, int which) {
    						dialog.dismiss();					}
    				}).show();				
    			}
    		});
    	}
    这样就大功告成!

  • 相关阅读:
    认识js运动
    BOM下的属性和方法---上
    BOM下的属性和方法---下
    鼠标跟随提示框
    [置顶] 关于CSDN2013博客之星的一些看法
    JSP内置对象---application
    C#中foreach语句的迭代器实现机制
    EBS动态创建账户组合实现
    稀里糊涂地被评为博客之星的候选人了,那就麻烦大家帮忙投个票吧~
    UNIX/Linux进程间通信IPC---管道--全总结(实例入门)
  • 原文地址:https://www.cnblogs.com/yxwkf/p/3907359.html
Copyright © 2011-2022 走看看