91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

cocos2d-x學習筆記(十三)lua與java通過LuaJavaBridge交互

發布時間:2020-03-02 18:29:21 來源:網絡 閱讀:1057 作者:wty530 欄目:游戲開發

cocos2d-x接入支付等sdk時,如果邏輯寫在lua端,經常會用到lua與java的交互,下面通過一個實例來實現lua與java的交互過程

一、lua端

lua中使用luaj.callStaticMethod調用java靜態方法

1
2
3
4
5
6
7
8
9
10
11
12
13
local function onCallBack(msg)
    --回調處理
    if msg == "success"
        --
    end
end
local function callJavaCallBackLua()
    local luaj = require "cocos.cocos2d.luaj"
    local className = "org/cocos2dx/cpp/AppActivity"
    local args = { "test", onCallBack }
    local sigs = "(Ljava/lang/String;I)V"
    local ok = luaj.callStaticMethod(className,"callJavaMethod",args,sigs)
end

以上實現通過lua端調用java的靜態方法callJavaMethod,并傳入2個參數,一個字符串“test”和一個回調函數onCallBack


二、java端

cocos2d-x提供了Cocos2dxLuaJavaBridge帶有如下方法可以使用:

1
2
3
4
public static native int callLuaFunctionWithString(int luaFunctionId, String value);  // 調用局部Lua-Function
public static native int callLuaGlobalFunctionWithString(String luaFunctionName, String value); // 調用全局Lua-Function
public static native int retainLuaFunction(int luaFunctionId); // retain一次Lua-Function
public static native int releaseLuaFunction(int luaFunctionId); // release掉Lua-Function

在這里我們使用調用局部Lua-Function callLuaFunctionWithString來做示例

在AppActivity.java合適位置中加入代碼

1
import org.cocos2dx.lib.Cocos2dxLuaJavaBridge;
1
static int luaFuncCallback = 0;
1
2
3
4
public static void callJavaMethod(final String test, final int luaFunc){
    //Java中可以直接回調這個函數,也可以先保存下來這個注冊的Lua局部函數,一般都是保存下來,等待啟用SDK充值邏輯走完后再回調
    luaFuncCallback = luaFunc;
}
1
2
3
4
5
6
7
mainActivity.runOnGLThread(new Runnable() {
    @Override
    public void run() {
        Cocos2dxLuaJavaBridge.callLuaFunctionWithString(luaFuncCallback, "success");
        Cocos2dxLuaJavaBridge.releaseLuaFunction(luaFuncCallback);
    }
    });



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

忻城县| 突泉县| 齐河县| 大冶市| 瑞昌市| 泰和县| 嘉荫县| 哈巴河县| 波密县| 鄱阳县| 大同市| 永川市| 嘉善县| 剑川县| 漠河县| 红原县| 山东| 九江市| 黄冈市| 鲁甸县| 清水河县| 临桂县| 宜兰县| 滦平县| 同江市| 明溪县| 无锡市| 分宜县| 东辽县| 兴化市| 维西| 景洪市| 云梦县| 武义县| 聂拉木县| 万盛区| 博野县| 茶陵县| 和林格尔县| 武宣县| 开鲁县|