Muh*_*han 1 unity-game-engine unity-webgl
Unity SendMessage只能传递一个参数,并且可以是一个数组。所以我正在调用 javascript 的 sendMessage 并调用 C# 方法(实际上是 webgl 方法)
var arr = [x,y,z];
gameInstance.SendMessage("Cube","SetGameObjectPosition",arr);
Run Code Online (Sandbox Code Playgroud)
但出现这个错误
由于以下原因调用错误处理程序
Uncaught 2,2,2 没有 SendMessage 支持的类型。[违规]“单击”处理程序花费了 8994 毫秒 blob:http://localhost/1ff50200-cb3a-4367-ab45-f02e9734fac2:2 Uncaught 2,2,2 没有 SendMessage 支持的类型。
SendMessage @ blob:http://localhost/1ff50200-cb3a-4367-ab45-f02e9734fac2:2
发送消息@UnityLoader.js:4
SetObjectPosition @(索引):44
onclick @(索引):65(索引):65
[违规]“点击”处理程序花费了 9000 毫秒
您可以传递 json 字符串:
var pos = {x:1,y:2,z:3};
gameInstance.SendMessage("Cube","SetGameObjectPosition", JSON.stringify(pos));
Run Code Online (Sandbox Code Playgroud)
统一:
void SetGameObjectPosition(string data)
{
var position = JsonUtility.FromJson<Vector3>(data);
}
Run Code Online (Sandbox Code Playgroud)