一、unity向web传数据、unity调用web方法
1、web端js内:
<script type="text/javascript" language="javascript">
/*
* value:web端接收到的来自unity的参数
*/
function func_Name(value){
//do sth
}
</script>
2、unity端cs内:
/*
* param1:web端被调用的方法名
* param2:unity向web传递的参数
*/
void MyFunction(string str){
Application.ExternalCall('func_Name',params)
}
二、web向unity传数据
1、web端js内:
<script type="text/javascript" language="javascript">
/*
* param1:unity场景中的对象,通常为MainCamera(因为大多脚本都挂载摄像机上)
* param2:MainCamera对象上面挂载的脚本内的方法名
* param3:web向unity传递的参数
*/
function sendMessageToUnity() {
u.getUnity().SendMessage("MainCamera","MyFunction","你好,我是webplayer");
}
</script>
此处需要注意一点:Unity版本不同,调用方法不同
主要原因是不同版本下,实例化unity对象方法不同,低版本是用UnityObject实例化,高版本是用UnityLoader实例化。
(1)Unity版本为5.x(低版本,需要安装插件,不支持chrome)
//省略了config
var u = new UnityObject(config);
u.getUnity().SendMessage("MainCamera","MyFunction",value);
(2)Unity版本为2017及以上(高版本,WebGL,不需要安装插件,支持chrome)
//省略了config
var gameInstance = UnityLoader.instantiate(config);
gameInstance.SendMessage('MainCamera', 'MyFunction', value);
2、unity端cs内:
/*
* str:web向unity传递的参数
*/
void MyFunction(string str){
//do sth
}