首页 > Unity3D专栏 > 【Unity3D】Unity3D WebPlayer UnityObject介绍
2017
07-25

【Unity3D】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" onclick="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加载时,函数将被调用一次。该函数没有任何参数。



虚拟世界提醒您:如果您觉得本文不错,快快将这篇文章分享出去吧 ,感谢您的支持和关注,谢谢!
最后编辑:
作者:虚拟世界
专注互联网技术及资讯 技术研究中心|有相关Unity3D问题或者作事宜请联系我哦!
捐 赠如果您愿意花10块钱请我喝一杯咖啡的话,请用手机扫描二维码即可通过支付宝或者微信直接向我捐款,在此非常感谢您对虚拟世界的捐赠。

留下一个回复

你的email不会被公开。