cocos2d-x Lua與OC互相呼叫
1. Lua 呼叫OC
先看例子:
hello.lua:
-- 點選回撥函式 local function notifymenuCallbackTest() local luaoc = require('luaoc') local ok, ret = luaoc.callStaticMethod("RemoteRequestRouter", "notifyWatch", {params1 = "NOTIFICATION_TO_HOME"}) end
RemoteRequestRouter.m
#pragma mark - 正確的通知WatchKit Extension的函式。 + (void)notifyWatch:(NSDictionary *)dict { NSLog(@"IOS app call notifyWatch to notify Apple Watch."); NSString *str = [dict objectForKey:@"params1"]; //(CFStringRef)str CFSTR("") CFNotificationCenterPostNotification(CFNotificationCenterGetDarwinNotifyCenter(), (__bridge CFStringRef)str, (__bridgeconst void *)(self), nil, TRUE); }
這樣就完成了Lua呼叫靜態類成員函式。
2. OC呼叫Lua
// functionId 是 Lua function 的引用 ID,參考 LuaJavaBridge 文章中的描述 // 1. 將引用 ID 對應的 Lua function 放入 Lua stack CCLuaObjcBridge::pushLuaFunctionById(functionId); // 2. 將需要傳遞給 Lua function 的引數放入 Lua stack CCLuaValueDict item; item["title"] = CCLuaValue::stringValue("hello"); item["coins"] = CCLuaValue::intValue(1000); item["success"] = CCLuaValue::booleanValue(TRUE); CCLuaObjcBridge::getStack()->pushCCLuaValueDict(item); // 3. 執行 Lua function CCLuaObjcBridge::getStack()->executeFunction(1); // 4. 釋放引用 ID CCLuaObjcBridge::releaseLuaFunctionById(callbackId);
相關推薦
cocos2d-x Lua與OC互相呼叫
1. Lua 呼叫OC 先看例子: hello.lua: -- 點選回撥函式 local function notifymenuCallbackTest() local luaoc = require('luaoc') local ok, ret = luaoc.ca
iOS下Cordova與OC互相呼叫
2.設定網頁控制器,新增網頁 首先將 ViewController 的父類改為 CDVViewController。如下圖所示: 這裡分兩種情況,載入本地HTML 和遠端HTML 地址。 ** 載入本地HTML ** 載入本地HTML,為了方便起見,首先
iOS下JS與OC互相呼叫(三)--MessageHandler
使用WKWebView的時候,如果想要實現JS呼叫OC方法,除了攔截URL之外,還有一種簡單的方式。那就是利用WKWebView的新特性MessageHandler來實現JS呼叫原生方法。 MessageHandler 是什麼? WKWebView 初始
JS與OC互相呼叫的一百種方法(包括WKWebView和UIWebView)
/** * 根據webView、navigationAction相關資訊決定這次跳轉是否可以繼續進行,這些資訊包含HTTP傳送請求,如頭部包含User-Agent,Accept,refer * 在傳送請求之前,決定是否跳轉的代理 * @param webView * @param naviga
Lua:模組、使用位操作BitOp、C API(Lua與C互相呼叫)
一、模組 1.1 概述 建立一個模組最簡單的方法是: 1. 建立一個table; 2. 並將所有需要匯出的函式放入其中; 3. 最後返回這個table。 1.2 程式碼 檔案:test.lua complex = {} f
iOS下JS與OC互相呼叫(八)--Cordova詳解+實戰
扯兩句,可以跳過 由於專案中Cordova相關功能一直是同事在負責,所以也沒有仔細的去探究Cordova到底是怎麼使用的,又是如何實現JS 與 OC 的互動。所以我基本上是從零開始研究和學習Cordova的使用,從上篇在官網實現命令列建立工程,到工程執行起來,
iOS下JS與OC互相呼叫(四)--JavaScriptCore
前面講完攔截URL的方式實現JS與OC互相呼叫,終於到JavaScriptCore了。它是從iOS7開始加入的,用 Objective-C 把 WebKit 的 JavaScript 引擎封裝了一下,提供了簡單快捷的方式與JavaScript互動。 關於JavaScriptCore的使用有兩篇很好的文章:N
iOS下JS與OC互相呼叫(六)-->WKWebView + WebViewJavascriptBridge
上一篇文章介紹了UIWebView 如何通過WebViewJavascriptBridge 來實現JS 與OC 的互相呼叫,這一篇來介紹一下WKWebView 又是如何通過WebViewJavascriptBridge 來實現JS 與OC 的互相呼叫的。WKWebView
iOS下JS與OC互相呼叫(七)--Cordova 基礎
Cordova 簡介 在介紹Cordova之前,必須先提一下PhoneGap。PhoneGap 是Nitobi軟體公司2008年推出的一個框架,旨在彌補web 和iOS 之間的不足,使得web 和 iPhone SDK 之間的互動更容易。後來又加入了Android SDK 和BlackBerry SDK,再
cocos2d-x lua 面向物件 ===> 呼叫基類在派生類中已經被過載了的函式
基類: local Base = class("Base", function () return cc.Layer:create() end) function Base:ctor( ... ) end function Base:test(self, ...
【學習筆記】【Cocos2d-x Lua指令碼開發】如何使用Lua指令碼呼叫自定義類
步驟:自定義類——>使用tolua++編譯到LuaCoco2d.cpp——>Lua指令碼呼叫 具體的操作步驟如下: 步驟一:自定義類 建立自定義類 //DeepSeaHero.h #include "cocos2d.h" using namespace
iOS下JS與原生OC互相呼叫(總結)
iOS開發免不了要與UIWebView打交道,然後就要涉及到JS與原生OC互動,今天總結一下JS與原生OC互動的兩種方式。 JS呼叫原生OC篇 方式一 第一種方式是用JS發起一個假的URL請求,然後利用UIWebView的代理方法攔截這次請求,然後
iOS下JS與原生OC互相呼叫
iOS開發免不了要與UIWebView打交道,然後就要涉及到JS與原生OC互動,今天總結一下JS與原生OC互動的兩種方式。 JS呼叫原生OC篇 方式一 第一種方式是用JS發起一個假的URL請求,然後利用UIWebView的代理方法攔截這次請求,然後再做相應的處理。
iOS開發-JS與原生OC互相呼叫之問題總結二
今天繼續給同學們講解JS和OC的互相呼叫,今天給大家還是講解WKWebView中的一些使用,和注意點,廢話不多說直接上程式碼: #pragma mark - WKWebView中的MessageHandler? WKWebView初始化時,有一個引數叫configur
Cocos2d-x Lua遊戲開發Mac環境搭建以及一點點感悟
感覺 慢慢 怎樣 tid lease 人生 第三方 什麽 增強 接觸Cocos2d-x 最近由於公司項目的需要,自己開始接觸Cocos,開始做一些簡單的輕量級的遊戲,以前沒有接觸過這一塊的東西,也是借助這個機會學習一下遊戲的開發,由於以前自己
Quick-Cocos2d-X Lua 操作TiledMap
com map edm 分享 圖片 uic tiled led post Quick-Cocos2d-X Lua 操作TiledMap
cocos2d-x-lua基礎系列教程六(lua-table增刪改查)
{} cat ng-click 位置 rip 腳本 ack content -c lua-table庫 1。插入 table.insert () --假設沒有設定位置。默認last位置 樣例: myTable = {
iOS UIWebView中JS和OC互相呼叫
最近做的專案中,是用html做的,我這邊直接用iOS原生的UIWebView進行載入顯示,在期間用到了js和OC的互相呼叫,這裡記錄下來 JS呼叫OC方法: 首先,什麼是JS呼叫O
Cocos2d x Lua示例專案HelloLua
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
Cocos2d-x Lua 訪問plist屬性列表檔案
C++: //載入plist檔案 config = CCDictionary::createWithContentsOfFile(path); config->retain(); //訪問其中元素 CCArray *a