查看: 947|回复: 3

[脚本] Unity与浏览器信息发送代码

[复制链接]

17

主题

10

听众

202

积分

小学生

Rank: 2

升级   0.67%

发表于 2013-1-3 17:50 |显示全部楼层
共享资源获取更多积分!share your resources get more credits!
本帖最后由 华胜 于 2013-1-3 17:52 编辑

从网页向 Unity 内容调用函数
翻译:刚(gang) http://www.gmisoft.com.cn/ 业务拓展,若有Flash需求请与本人联系 QQ:47345830
Unity网页播放器与浏览器进行交互
网页包含的Unity内容与网页之间基本是两类交互:
从网页向Unity内容调用函数
由Unity内容网页调用函数
下面就详细说明这两种方式调用过程。
从网页向Unity内容调用函数
Unity Web Player的插件或ActiveX控件都有一个SendMessage()的方法,网页用这个方法与Unity进行沟通,这与Unity脚本接口里的 GameObject.SendMessage 极其类似。通过该函数可以传递对象名、函数名或简单参数,然后SendMessage()就会调用GameObject上给定的函数。
在调用SendMessage()之前,必须先得到Unity Web Player的引用。这里可以使用javascript 对象document的getElementById()函数来获得该引用。下面是一个例子,他会执行SendMessage(),嵌入在Object或embed标签下的Unity web player的id是UnityContent,方法会从一个名为 MyObject GameObject上的MyFunction() 函数,并传递一名话作为参数。
<script type="text/javascript" language="javascript">
<!--
function SaySomethingToUnity()
{
document.getElementById("UnityContent").SendMessage("MyObject", "MyFunction", "Hello from a web page!");
}
-->
</script>
在Unity内容里,你需要放置一个名叫MyObject的GameObject对象,并在该对象上附加实现了名MyFunction 方法的脚本文件。
function MyFunction(param : String)
{
Debug.Log(param);
}
由Unity内容网页调用函数
Unity内容通过执行Application.ExternalCall()来调用任何在网页里定义Javascript函数,比如下面一句调用了网页里SayHello(),并传递了一句话作为参数。
Application.ExternalCall( "SayHello", "The game says hello!" );
在网页里需定义SayHello()方法,如下所示:
<script type="text/javascript" language="javascript">
<!--
function SayHello( arg )
{
// show the message
alert( arg );
}
-->
</script>
另一种从Unity里执行任意浏览器代码的方式
你甚至不用在所嵌入的网页定义函数,反而通过调用Application.ExternalEval()来执行内置在浏览器里的代码。
如下代码检查Unity内容是否访问自unity3d.com,如果不是重定向网页地址,这个技术可以用来防止深链接对该内容的访问。
Application.ExternalEval(
"if(document.location.host != 'unity3d.com') { document.location='http://unity3d.com'; }"
);

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

17

主题

10

听众

202

积分

小学生

Rank: 2

升级   0.67%

发表于 2013-1-3 17:52 |显示全部楼层
这个帖子不错,大家快来顶起来!
回复

使用道具 举报

1

主题

8

听众

201

积分

小学生

Rank: 2

升级   0.33%

发表于 2013-3-27 17:24 |显示全部楼层
果断回复拿钱走人
回复

使用道具 举报

0

主题

8

听众

354

积分

小学生

Rank: 2

升级   51.33%

发表于 2014-5-27 10:55 |显示全部楼层
顶顶顶 好东西
回复

使用道具 举报

0

主题

8

听众

202

积分

小学生

Rank: 2

升级   0.67%

发表于 2017-3-24 09:34 |显示全部楼层
楼主是超人
回复

使用道具 举报

0

主题

8

听众

204

积分

小学生

Rank: 2

升级   1.33%

发表于 2017-3-24 09:55 |显示全部楼层
好帖就是要顶
回复

使用道具 举报

0

主题

8

听众

203

积分

小学生

Rank: 2

升级   1%

发表于 2017-3-24 10:16 |显示全部楼层
顶顶多好
回复

使用道具 举报

0

主题

8

听众

201

积分

小学生

Rank: 2

升级   0.33%

发表于 2017-3-24 10:11 |显示全部楼层
说的非常好
回复

使用道具 举报

0

主题

8

听众

203

积分

小学生

Rank: 2

升级   1%

发表于 2017-3-24 09:41 |显示全部楼层
不错不错
回复

使用道具 举报

0

主题

8

听众

204

积分

小学生

Rank: 2

升级   1.33%

发表于 2017-4-10 20:17 |显示全部楼层
好帖就是要顶
回复

使用道具 举报

温馨提示:求助请到“Unity技术讨论”版块中发帖,便于集中解决!
您需要登录后才可以回帖 登录 | 立即注册

懒人模式:

关闭

站长推荐 上一条 /1 下一条

( 苏ICP备12051100号 )   

GMT+8, 2017-11-25 06:05 , Processed in 0.103776 second(s), 42 queries .