zoukankan      html  css  js  c++  java
  • cocos2d-lua SDK接入

    1.lua 调用Java函数
    1.1 在java中创建一个静态函数(比如在org.cocos2dx.lua.AppActivity.java中)名为Login

    public static void miLogin(final int luaFunc){ 
    		Message message = new Message();   
            message.what = HANDLER_LOGIN;  
            handler.sendMessage(message);		
    	}
    

    1.2 在lua中使用luaj来调用miLogin函数

    function callJavaLogin()
    	local className = "org/cocos2dx/lua/AppActivity"
    	local javaMethodName = "miLogin"
        local args = {  LuaCallJavaHelper.SuccessLogin }
        local sigs = "(I)V"
        print('javaMethod ...... 1111111')
        local ok = luaj.callStaticMethod(className,javaMethodName,args,sigs)
        if not ok then
            print("call callback error")
        end
    end
    

    args:代表的是miLogin函数的参数
    sigs:代码args参数传递时依次类型和返回值.()里面是参数,外面是返回值
    | 字符 | 代表含义 |
    | -------- | -----: |
    | V | void |
    | Z | boolean |
    | B | byte |
    | I | int |
    |Ljava/lang/String| String |等等
    通过luaj.callStaticMethod来调用java函数

    2.Java调用Lua函数
    2.1 先通过Lua调用Java方式把自己的函数作为参数传入Java端
    2.2 在Java端使用静态函数来接收2.1传入的函数地址

    Java端接收函数的例子:
    public static void miLogin(final int luaFunc){ }
    其中luaFunc表示2.1传入的函数地址
    2.3 通过如下方式来调用Lua函数

    Cocos2dxGLSurfaceView.getInstance().queueEvent(new Runnable(){
    	            @Override
    	            public void run() 
    	            {
    	            	Cocos2dxLuaJavaBridge.callLuaFunctionWithString(loginLuaFunc, String.valueOf(uid));
            			Cocos2dxLuaJavaBridge.releaseLuaFunction(loginLuaFunc);
    	            }
    	        });
    
  • 相关阅读:
    Oracle Merge into
    查询 null 记录
    删除 eclipse 插件
    vs 密钥
    视频网站建设
    eclipse 版本 查看
    让数据库变快的十个建议
    c# WebBrowser 操作
    svn 代码合并
    Android开发者应该深入学习的10个开源应用项目
  • 原文地址:https://www.cnblogs.com/zjzyh/p/4817282.html
Copyright © 2011-2022 走看看