Unity 网络播放器 (Web Player) 和浏览器

包含 Unity 网络播放器 (Web Player) 内容的 HTML 页面可与该内容通信,反之亦然。基本上有两种通信方法:

网页在 Unity 网络播放器 (Web Player) 内容中调用函数。

Unity 网络播放器 (Web Player) 内容在网页中调用函数。

下面对两种通信方法进行了详细阐述。

从网页中调用 Unity 网络播放器 (Web Player) 内容函数

Unity 网络播放器 (Web Player) 对象有一个 SendMessage() 函数,可从网页中调用,以便在 Unity 网络播放器 (Web Player) 内容中调用函数。该函数与 Unity 脚本 API 中的 GameObject.SendMessage 函数非常类似。从网页中调用时传递对象名称、函数名称和单个参数,SendMessage() 会在相应的游戏对象中调用给定函数。

为了调用 Unity 网络播放器 (Web Player) 的 SendMessage() 函数,必须先引用 Unity 网络播放器对象。可以在 Unity 生成的默认 HTML 中使用 GetUnity() 函数,获得对象引用。以下是一个 JavaScript 函数示例,它将在 Unity 网络播放器 (Web Player) 中执行 SendMessage() 函数,反过来 SendMessage() 会在名为 MyObject 的游戏对象中调用 MyFunction() 函数,传递一段字符串数据作为参数。


<script type=\"text/javascript\" language=\"javascript\">

<!--

//initializing the WebPlayer

var u = new UnityObject2();

u.initPlugin(jQuery(\"#unityPlayer\")[0], \"Example.unity3d\");

function SaySomethingToUnity()

{

u.getUnity().SendMessage(\"MyObject\", \"MyFunction\", \"Hello from a web page!\");

}

-->

</script>