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

cocos2d-lua SDK接入的更多相关文章

  1. SDK接入(2)之Android Google Play内支付(in-app Billing)接入

    SDK接入(2)之Android Google Play内支付(in-app Billing)接入 继上篇SDK接入(1)之Android Facebook SDK接入整理完Facebook接入流程之 ...

  2. 手机游戏渠道SDK接入工具项目分享(二)万事开头难

    一般接到任务后程序员们通常都开始着手进行技术调研了,但我这活是项目负责人.还有一大堆事情要先期准备,没人能帮忙. 一.人力配置 考虑的之前已经有一波人搞了大半年,但没有起色,先期也没有太大人力需求,所 ...

  3. SDK接入(1)之Android Facebook SDK接入

    SDK接入(1)之Android Facebook SDK接入 由于游戏已上线,且处于维护阶段,所以有空写写各种SDK接入过程和遇到的问题,也当作一种工作总结.SDK接入主流分为这么几类,登录.支付. ...

  4. SDK接入(U8SDK)——SDK抽象层的设计

    上一篇文章,我们总体地分析并设计了一套高效的SDK接入方案,也罗列出这套方案,我们需要完成的工作.这里再罗列并回顾下: 1.统一抽象的SDK接入框架 2.各个SDK接入实现 3.一键打包工具 4.统一 ...

  5. SDK接入(3)之iOS内支付(In-App Purchase)接入

    SDK接入(3)之iOS内支付(In-App Purchase)接入 继整理了Android平台的SDK接入过程.再来分享下iOS平台的内支付(In-App Purchase)接入,作为笔者在游戏开发 ...

  6. 手机游戏渠道SDK接入工具项目分享(三)拨开云雾是个坑

    一直在纠结是先写框架设计还是先写掉过的坑,最后本这娱乐大众的态度先写掉过的坑让大家乐呵下. 项目开发过程中遇问题无数,回顾下8个大坑照成了项目一定程度上延期甚至返工. 项目一开始几个人把现有3家主流的 ...

  7. 手机游戏渠道SDK接入工具项目分享(一)缘起

    #剧情章节 # 上周刚结束一个外包的项目,开发手机游戏渠道SDK聚合接入工具的,现在有空回顾整理一下这个项目开发过程,因涉嫌商业秘密不会提供项目代码,只谈下开发思路和掉过的坑. 本人多年从事手机互联网 ...

  8. 统一SDK接入(U8SDK)——总体思路和架构

    题记:很多做游戏开发的人,估计都或多或少地接过渠道SDK,什么UC,当乐,91,小米,360……据统计国内市场当前不下于100家渠道,还包括一些没有SDK的小渠道.每个渠道SDK接入的方法呢,多是大同 ...

  9. #Cocos2d+lua#android+Eclipse工程编译设置

    用Elicpse编译cocos2d+lua的工程几点注意点记录: 1.设置工程属性Windows->Preferences->NDK目录 2.右键Android Tools->Add ...

  10. Cocos2d Lua 越来越小样本 内存游戏

    1.游戏简介 一个"记忆"类的比赛游戏.你和电脑对战,轮到谁的回合,谁翻两张牌,假设两张牌一样.就消掉这两张牌,得2分,能够继续翻牌,假设两张牌不一样,就换一个人.直到最后.看谁的 ...

随机推荐

  1. Android 中执行定时任务 Timer + TimerTask

    1. new Timer().schedule(new TimerTask() { @Override public void run() { //任务代码 } }, 0, 5000);

  2. 判断一个数是否为2的n次幂

    参考:http://bbs.csdn.net/topics/370058619 如题,如何判断一个整数是否是2的N次方,我能想到的方法有两个 1.一直除2,看最后是否等于1.(最笨的方法) 2.转换成 ...

  3. SqlServer 汉字转换拼音首字母函数

    CREATE function [dbo].[Func_GetPY](@str nvarchar(4000))returns nvarchar(4000)asbegin set @str=RTRIM( ...

  4. php回传ajax数据

    <?php $json_width = $_POST["img_width"]; $json_height = $_POST["img_height"]; ...

  5. 当用反射获取一个model,这个model里面字段有nullable的时候,获取字段真实类型

    Using Reflection to Determine whether an Type is Nullable And Get the underlying Type /// <summar ...

  6. Linux RSS/RPS/RFS/XPS对比

    RSS适合于多队列网卡,把不同的流分散的不同的网卡多列中,至于网卡队列由哪个cpu处理还需要绑定网卡队列中断与cpu RPS:适合于单队列网卡或者虚拟网卡,把该网卡上的数据流让多个cpu处理 RFS: ...

  7. (转)用JMX监测JVM的运行参数

    翻译自http://java.sun.com/javase/6/docs/technotes/guides/management/agent.html  用JMX管理你的JVMJMX是Java管理扩展 ...

  8. 【报错】java.lang.RuntimeException: Invalid action class configuration that references an unknown class named [xxxAction]

    java.lang.RuntimeException: Invalid action class configuration that references an unknown class name ...

  9. 四、oracle 用户管理(Profile)

    oracle 用户管理 :profile + tablespace + role + user  一.使用profile管理用户口令概述:profile是口令限制,资源限制的命令集合,当建立数据库时, ...

  10. windows下如何快速搭建web.py开发框架

    在windows下如何快速搭建web.py开发框架 用Python进行web开发的话有很多框架供选择,比如最出名的Django,tornado等,除了这些框架之外,有一个轻量级的框架使用起来也是非常方 ...