Unity3D WebPlayer UnityObject 你不知道的秘密

UnityObject是JavaScript脚本,简化了Unity的内容嵌入到HTML中。它具有检测Unity网络播放器插件的功能,初始化网络播放器的安装和嵌入Unity的内容。尽管也可以部署UnityObject.js文件和HTML文件一起在web服务器,最好从Unity服务器加载文件。这样总能引用UnityObject的最新版本。
请注意在Unity服务器上托管的UnityObject.js文件是压缩版,使其很小,以节省流量。如果你想浏览源代码,在Windows可以在安装目录Data\Resources文件夹找到,在Mac OS X在安装目录Contents/Resources文件夹找到。默认UnityObject会发生匿名数据到GoogleAnalytics,这是用来帮助我们确定安装类型和转换率。embedUnity嵌入Unity内容到HTML。
Parameters 参数:
id -HTML元素(占位符),用来替换Unity内容。
src - 网络播放器数据文件的路径,可以用相对或绝对路径。
width - Unity内容的宽度。可以指定像素值(如600,450)或百分比值(如,50%,100%)。
height - Unity内容的高度。可以指定像素值(如600,450)或百分比值(如,50%,100%)。
params - 可选参数。包含参数列表的对象。参见自定义Unity网络播放器加载的屏幕和自定义Unity网络播放器的行为可能的值。
attributes - 可选属性。包含属性列表的对象。这些将被添加到<object> or <embed>标签,取决于浏览器。
callback - 回调,可选参数。网络播放器加载时,函数将被调用一次。函数必须接受单个参数包含以下属性:
success - 成功 - ??布尔值,指示是否已成功运行。
id - 标识 - 已经被加载的网络播放器对象的标识(与占位符相同)。
ref - 引用 - 已经被加载的网络播放器对象。
注意:


这个功能通常在返回之前操作全部完成。因此它并不是安全地立即访问网络播放器对象。一个回调函数可提供在完成时获取通知,另外屡次调用getObjectById,直到它不返回一个空值。Example 例如:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Unity Web Player | Example</title>
<script type="text/javascript" src="http://webplayer.unity3d.com/download_webplayer/3.0/uo/UnityObject.js"></script>
<script type="text/javascript">
<!--
if (typeof unityObject != "undefined") {
unityObject.embedUnity("unityPlayer", "Example.unity3d", 600, 450, null, null, unityLoaded);
}
function unityLoaded(result) {
if (result.success) {
var unity = result.ref;
var version = unity.GetUnityVersion("3.x.x");
alert("Unity Web Player loaded!\nId: " + result.id + "\nVersion: " + version);
}
else {
alert("Please install Unity Web Player!");
}
}
-->
</script>
</head>
<body>
<!-- This will be replaced by Unity content. -->
<div id="unityPlayer">Unity content can't be played. Make sure you are using compatible browser with JavaScript enabled.</div>
</body>
<ml>
getObjectById


获取网络播放器对象


参数:


id - 网络播放器对象的标识。


callback - 回调 - 可选参数。网络播放器取回时,函数将调用一次。这个函数必须接受单个参数,包含网络播放器对象。
Returns the Web Player object or null if the Web Player is not loaded yet.返回网络播放器对象或如果网络播放器尚未加载,返回空。
例如:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Unity Web Player | Example</title>
<script type="text/javascript" src="http://webplayer.unity3d.com/download_webplayer/3.0/uo/UnityObject.js"></script>
<script type="text/javascript">
<!--
if (typeof unityObject != "undefined") {
unityObject.embedUnity("unityPlayer", "Example.unity3d", 600, 450, null, null, function(result) {
if (result.success) {
var versionButton = document.getElementById("versionButton");
versionButton.disabled = false;
}
});
}
function versionButtonClick() {
var unity = unityObject.getObjectById("unityPlayer");
var version = unity.GetUnityVersion("3.x.x");
alert(version);
}
-->
</script>
</head>
<body>
<!-- This will be replaced by Unity content. -->
<div id="unityPlayer">Unity content can't be played. Make sure you are using compatible browser with JavaScript enabled.</div>
<div>
<input id="versionButton" type="button" value="Version" disabled="disabled" οnclick="versionButtonClick();" />
</div>
</body>
<ml>


enableFullInstall


如果不可用,安装完整网络播放器。标准仅安装网络播放器一小部分,其余的文件会自动下载。默认值为false。
参数:value - 布尔值,启用或禁用该功能。
enableAutoInstall 
如果不可用,自动开始网络播放器安装。一些平台不支持这个功能。默认值为false。
参数:
value - 布尔值,启用或禁用该功能。
enableJavaInstall  
启用基于Java安装。一些平台不支持这个功能。默认值为true。
参数:value - 布尔值,启用或禁用该功能。
enableClickOnceInstall


启用基于ClickOnce安装。一些平台不支持这个功能。默认值为true。
参数:value -布尔值,启用或禁用该功能。
enableGoogleAnalytics


通知Unity有关网络播放器安装。如果网络播放器已经安装,这个什么也不做。默认值为true。
参数:value - 布尔值,启用或禁用该功能。
addLoadEvent  
注册一个函数,将在网页加载时调用一次。
参数:event - 事件 - 在网页DOM加载时,函数将被调用一次。该函数没有任何参数。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值