Unity发布WebGL爬坑杂记(六)
程序员文章站
2022-03-17 12:57:32
...
在这段时期的开发过程中有很多和web端进行混合开发的功能实现,如何调用web端的接口/函数,以及web端如何调用Unity的函数,在此记录一下,PS :web端开发使用的是js、
首先需要增加一个jslib,在unity特殊文件夹Plugins下新建一个jslib文件,内容如下:
var MyPlugins = { sendScore:function(str) { /*var returnStr = window.location.host; var buffer = _malloc(lengthBytesUTF8(returnStr)+1); writeStringToMemory(returnStr,buffer); return buffer;*/ setUnityData(Pointer_stringify(str)); } }; mergeInto(LibraryManager.library,MyPlugins);
首先MyPlugins 是jslib文件的名称,自行定义,{ }里面的sendScore是标志着即将执行的C#函数,setUnityData是js中写的函数,也就是C#调用的 js 函数,Pointer_stringify(str)是固定写法,表示要传入一个参数,类型为str,mergeInto(LibraryManager.library,MyPlugins);也是固定写法,jslib编写就完成了
[DllImport("__Internal")] public static extern string sendScore(string str); public void SendScoreFunc(string score){ sendScore(score); }
这里就是C#做的操作了,使用 [DllImport("__Internal")] 与外部脚本交互,extern 是声明在外部实现的方法,所以需要用static修饰,到这里就OK了。
Over!
上一篇: jquery自定义动画
推荐阅读