Unity在Android和iOS中如何调用Native API
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Unity在Android和iOS中如何调用Native API,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1947字,纯文字阅读大概需要3分钟。
内容图文
本文主要是对unity中如何在Android和iOS中调用Native API进行介绍。
首先unity支持在C#中调用C++ dll,这样可以在Android和iOS中提供C++接口在unity中调用。利用这一特性,可以扩展unity的功能。例如集成和调用第三方库。同时为了满足对unity接口的一致性,可以考虑在android和iOS上提供相同的接口供C#调用。
这里列举以下两个例子。
1. 1. 以弹出一个覆盖部分屏幕的webview为例来说明如何从C#调用Native接口。
2. 2. 简单的C# -> C++ -> Java/ObjC -> C#的异步回调实现(会在下一期中给出实现)
由于android和iOS平台加载库的方式不同(android为动态加载,iOS为静态加载),在C#中针对不同平台对dll 接口的引用声明是不一样的。本例对应的接口声明如下:
1 public class CallNativeAPI { 2 3 #if UNITY_EDITOR 4publicstaticvoid OpenWebView(string url) { 5return; 6 } 7 8publicstaticvoid SumNum(int v1, int v2) { 9 TestUnityEditor.SumNum(v1, v2); 1011return; 12 } 13#elif UNITY_IPHONE 14 [DllImport ("__Internal")] 15publicstaticexternvoid OpenWebView(string url); 16 [DllImport ("__Internal")] 17publicstaticexternvoid SumNum(int v1, int v2); 18#elif UNITY_ANDROID 19 [DllImport ("libtestunity", CallingConvention = CallingConvention.Cdecl)] 20publicstaticexternvoid OpenWebView(string url); 21 [DllImport ("libtestunity", CallingConvention = CallingConvention.Cdecl)] 22publicstaticexternvoid SumNum(int v1, int v2); 23#endif2425publicstaticvoid SumNumForResult(int v1, int v2, CallbackManager.ResultCallback callback) { 2627 TestCallbackManager.sumNumCallback.SetResultCallBack(new CallbackManager.ResultCallback(callback)); 2829 SumNum(v1, v2); 3031return; 32 } 33} 3435namespace CallbackManager 36{ 37publicdelegatevoid ResultCallback(int result); 3839publicclass SumNumManager{ 40public SumNumManager() 41 { 42 } 4344private ResultCallback resultCallback; 4546publicvoid SetResultCallBack(ResultCallback callback) 47 { 48 resultCallback = callback; 49 } 5051publicvoid SendResult(int result) 52 { 53 resultCallback(result); 54 } 55 } 56} 5758publicclass TestCallbackManager { 5960publicstatic CallbackManager.SumNumManager sumNumCallback = new CallbackManager.SumNumManager(); 6162 }
转载至:
Unity在Android和iOS中如何调用Native API
原文:http://www.cnblogs.com/HuangWj/p/5917998.html
内容总结
以上是互联网集市为您收集整理的Unity在Android和iOS中如何调用Native API全部内容,希望文章能够帮你解决Unity在Android和iOS中如何调用Native API所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。