WebGL 调用 Unity 方法:ScoreUpload 函数示例
在 WebGL 中调用 Unity 中的方法,可以通过以下步骤来实现:
- 在 Unity 中,确保你的方法被标记为
[DllImport("__Internal")],这样 Unity 会将其导出为 WebGL 可调用的 JavaScript 函数。
[DllImport("__Internal")]
public static extern void ScoreUpload(string host, string accessToken, string ticket, string openid, string dataJsonStr);
- 在 Unity 中,创建一个 JavaScript 脚本,用于调用导出的 Unity 方法。在该脚本中,使用
Module.ccall函数来调用 Unity 中的方法。
mergeInto(LibraryManager.library, {
ScoreUpload: function(hostPtr, accessTokenPtr, ticketPtr, openidPtr, dataJsonStrPtr) {
var host = Pointer_stringify(hostPtr);
var accessToken = Pointer_stringify(accessTokenPtr);
var ticket = Pointer_stringify(ticketPtr);
var openid = Pointer_stringify(openidPtr);
var dataJsonStr = Pointer_stringify(dataJsonStrPtr);
// 调用 Unity 中的方法
Module.ccall('ScoreUpload', null, ['string', 'string', 'string', 'string', 'string'], [host, accessToken, ticket, openid, dataJsonStr]);
}
});
-
将上述 JavaScript 脚本保存为
unitywebgl.js文件,并将其添加到 Unity 项目的Build Settings -> Player Settings -> WebGL -> Template -> Index.html中。 -
在 WebGL 项目中,通过以下方式调用 Unity 中的方法:
// 调用 Unity 方法
ScoreUpload('host', 'accessToken', 'ticket', 'openid', 'dataJsonStr');
注意:上述代码中的参数值需要替换为实际的值。另外,确保 Unity 项目已经构建为 WebGL,并将生成的文件嵌入到 Web 页面中。
原文地址: https://www.cveoy.top/t/topic/pgHR 著作权归作者所有。请勿转载和采集!