解说Unity 网络播放器 (Web Player) 和浏览器通信

2015年03月16日 14:30 0 点赞 0 评论 更新于 2025-11-21 17:21

包含Unity网络播放器 (Web Player) 内容的HTML页面能够与该内容进行双向通信。总体而言,存在两种主要的通信方法:

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

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

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

Unity网络播放器 (Web Player) 对象具备一个SendMessage()函数,此函数可从网页调用,进而在Unity网络播放器 (Web Player) 内容里调用其他函数。该SendMessage()函数与Unity脚本API中的GameObject.SendMessage函数极为相似。当从网页调用时,需要传递对象名称、函数名称以及单个参数,SendMessage()会在对应的游戏对象中调用指定的函数。

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

// 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!");
}

这个示例展示了如何利用网页与Unity网络播放器 (Web Player) 内容进行交互,通过调用特定的函数并传递参数,实现了网页与Unity内容之间的通信。

作者信息

menghao

menghao

共发布了 3994 篇文章