日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CocosCreator-IOS 开发篇

發布時間:2023/12/10 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CocosCreator-IOS 开发篇 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言:

由于官方文檔寫的不夠詳細,我在此在補一篇,希望能幫助大家。

步驟1:

新建一個ts腳本,比如 Native。在腳本中添加如下代碼:

/*** 調用安卓或者IOS方法* @param funcName 需要調用的方法名* @param param 需要傳入的數據* 我的操作是,在OC 代碼里創建一個專門接收腳本調用的函數,然后腳本傳入方法名,和參數(參數為 string類型)*/public callStaticMethod(funcName: string, param: string = "") {if (cc.sys.isNative) {if (cc.sys.os == cc.sys.OS_IOS) {jsb.reflection.callStaticMethod("XXX-OC","xxxFucn:param:",funcName,param);}}}這里的xxxFucn 就代表的是XXX-OC 類里的通用調用函數。OC代碼見后面。做完這一步,你就能調用OC拉~

步驟2:

在xcode里新建一個XXXOC.h。并在XXXOC.h里添加一個xxxFucn的靜態函數,代碼如下:

//這里第一個參數對應的就是 ts腳本的funcName, param 對應的就是param + (void) xxxFun:(NSString *)funcName param:(NSString *)param;

然后在新建一個XXXOC.m 或者XXXOC.mm, 在類里實現xxxFun,代碼如下:

//js to object-c 接口部分 +(void) xxxFunc:(NSString *)funcName param:(NSString *)param {if(param){if([funcName isEqualToString:@"xxxFunc"]){//這個里面執行oc 代碼里對應的方法即可。}} }

OC 寫完了,那么我們如何調用ts 或者js呢?不用捉急,讓我慢慢道來,這時候需要在OC里添加一個

//oc to js - (void) callExternalInterface:(NSString *) param {NSString *ns_script = [NSString stringWithFormat:@"window.onFunc({status:'%@', param:''});", param];std::string script = [ns_script UTF8String];cocos2d::Application::getInstance()->getScheduler()->performFunctionInCocosThread([=](){se::ScriptEngine::getInstance()->evalString(script.c_str());}); }//一定注意到了這個window.onFunc 吧,這個是我們在js或者ts里面建立的一個通用的接收oc回調的函數。 //還有要注意,如果要用到 cocos2d的方法,一定要在oc里添加如下頭文件#include "cocos2d.h" //#include "platform/CCApplication.h" #include <cocos/base/CCScheduler.h> #include "cocos/scripting/js-bindings/jswrapper/SeApi.h" #import "AppDelegate.h"

好了即將大功告成了,不要急,不要走開哦,我們還需要在ts里添加一個方法:

// 將監聽原生事件接口綁定到全局window上 (window as any).onFunc = Native.onFunc;//這里的onFunc 就是咱們在OC里面回調的那個。

然后接下來在ts里加入處理oc 回調的方法:

/** 監聽原生事件接口 *///這里的msg 可以是任意參數,如果參數類型復雜可以傳入json數據哦public static onFunc(msg: any): void {//然后我們就可以在這里面 更具oc的回調在處理游戲腳本里的任意方法拉~}

全部代碼 附件:

CocosCreator-IOS開發篇.zip-其它文檔類資源-CSDN下載

是不是很簡單?

下一期我將介紹與安卓的互調哦~

感謝觀看,如果喜歡請點個關注和贊吧!

總結

以上是生活随笔為你收集整理的CocosCreator-IOS 开发篇的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。