2024年4月3日发(作者:)

Unity与浏览器信息发送交互方法

网页包含的Unity内容与网页之间基本是两类交互:

从网页向Unity内容调用函数

由Unity内容网页调用函数

下面就详细说明这两种方式调用过程。

从网页向Unity内容调用函数

Unity Web Player的插件或ActiveX控件都有一个SendMessage()的方法,网页用

这个方法与Unity进行沟通,这与Unity脚本接口里的 ssage 极

其类似。通过该函数可以传递对象名、函数名或简单参数,然后SendMessage()就会调用

GameObject上给定的函数。

在调用SendMessage()之前,必须先得到Unity Web Player的引用。这里可以使用

javascript 对象document的getElementById()函数来获得该引用。下面是一个例子,

他会执行SendMessage(),嵌入在Object或embed标签下的Unity web player的id

是UnityContent,方法会从一个名为 MyObject GameObject上的MyFunction() 函数,

并传递一名话作为参数。

在Unity内容里,你需要放置一个名叫MyObject的GameObject对象,并在该对象

上附加实现了名MyFunction 方法的脚本文件。

function MyFunction(param : String)

{

(param);

}

学游戏,就上我学院

由Unity内容网页调用函数

Unity内容通过执行alCall()来调用任何在网页里定义Javascript

函数,比如下面一句调用了网页里SayHello(),并传递了一句话作为参数。

alCall( "SayHello", "The game says hello!" );

在网页里需定义SayHello()方法,如下所示:

另一种从Unity里执行任意浏览器代码的方式

你甚至不用在所嵌入的网页定义函数,反而通过调用alEval()来执

行内置在浏览器里的代码。

如下代码检查Unity内容是否访问自,如果不是重定向网页地址,这个

技术可以用来防止深链接对该内容的访问。

alEval(

"if(

{ on=''; }"

!= '')

);

更多Unity教程及使用方法请上我学院:

学游戏,就上我学院