关于自定义Unity Web Playe 载入界面的实现过程我找到一篇文章,对这个看兴趣的同学可以看一下。
在默认情况下,统一的网络播放器显示一个小统一的标志和一个进度条,在加载网页播放器的内容。这是可以自定义的外观,载入画面,包括标志和进度条显示。有6个可选的参数可以传递到Unity Object的,可用于自定义外观的Unity Web Player的载入画面。这些可选参数如下:
1.backgroundcolor:在加载过程中的网络播放器内容显示区域的背景颜色,默认的是白色的。
2.bordercolor:在加载过程中的网络播放器内容显示区域周围绘制一个像素的边框的颜色,默认的是白色的。
3.textcolor:错误消息文本的颜色(当数据文件加载失败例如)。默认值是黑色或白色,根据背景颜色。
4.logoimage:一个自定义徽标图像的路径,标志图像绘制在加载过程中的网络播放器内容显示区域范围内。
5.progressbarimage:在加载过程中的进度条使用的自定义图像的路径。被削波的量的基础上已完成的文件加载的进度条图像的宽度,因此,当加载完成时,它开始与一个零的像素宽度和动画处理到其原始宽度。绘制进度条下方的标志形象。
6.progressframeimage:用于帧加载进度条的自定义图像的路径。
embedPlugin: function (targetEl, callback) {
……
if (ua.win && ua.ie) {
// ie, dom and object element do not mix & match
var at = ""; at+='codebase="http://webplayer.unity3d.com/download_webplayer-2.x/UnityWebPlayer.cab#version=2,0,0,0"';
var pt = "";
pt += '<param name="src" value="' + src + '" />';
pt += '<param name="firstFrameCallback" value="UnityObject2.instances[' + instanceNumber + '].firstFrameCallback();"/>';
//背景色
pt += '<param name="backgroundcolor" value="000000"/>';
pt += '<param name="bordercolor" value="FFFFFF"/>';
pt += '<param name="textcolor" value="FFFFFF"/>';
//logo图片(格式必须为PNG)
pt += '<param name="logoimage" value="logo.png" />';
//进度条图片(格式必须为PNG)
pt += '<param name="progressbarimage" value="tree.png"/>';
//进度条背景图片(格式必须为PNG)
pt += '<param name="progressframeimage" value="tree.png" />';
for (var i in cfg.params) {
if (cfg.params != Object.prototype) {
if (i.toLowerCase() != "classid") {
pt += '<param name="' + i + '" value="' + cfg.params + '" />';
}
}
}
var tmpHtml = '<object classid="clsid:444785F1-DE89-4295-863A-D46C3A781394" style="display: block; width: ' + _appendPX(width) + '; height: ' + _appendPX(height) + ';"' + at + '>' + pt + '</object>';
var $object = jQuery(tmpHtml);//
targetEl.append( $object );
embeddedObjects.push( targetEl.attr('id') );
unityObject = $object[0];
} else {
……
}
在默认情况下,统一的网络播放器显示一个小统一的标志和一个进度条,在加载网页播放器的内容。这是可以自定义的外观,载入画面,包括标志和进度条显示。有6个可选的参数可以传递到Unity Object的,可用于自定义外观的Unity Web Player的载入画面。这些可选参数如下:
1.backgroundcolor:在加载过程中的网络播放器内容显示区域的背景颜色,默认的是白色的。
2.bordercolor:在加载过程中的网络播放器内容显示区域周围绘制一个像素的边框的颜色,默认的是白色的。
3.textcolor:错误消息文本的颜色(当数据文件加载失败例如)。默认值是黑色或白色,根据背景颜色。
4.logoimage:一个自定义徽标图像的路径,标志图像绘制在加载过程中的网络播放器内容显示区域范围内。
5.progressbarimage:在加载过程中的进度条使用的自定义图像的路径。被削波的量的基础上已完成的文件加载的进度条图像的宽度,因此,当加载完成时,它开始与一个零的像素宽度和动画处理到其原始宽度。绘制进度条下方的标志形象。
6.progressframeimage:用于帧加载进度条的自定义图像的路径。
注意:提供所有的颜色值必须是6位数字的十六进制的颜色,(如FFFFFF,020F16等)。所提供的图像的路径可以是相对或绝对的联系。所有图片必须是RGB格式(不透明度)或的RGBA格式(透明度)存储在8位每通道的PNG文件。最后,的progressframeimage和progressbarimage应该是相同的高度。
方法:修改发布后的UnityObject2.js文件。embedPlugin: function (targetEl, callback) {
……
if (ua.win && ua.ie) {
// ie, dom and object element do not mix & match
var at = ""; at+='codebase="http://webplayer.unity3d.com/download_webplayer-2.x/UnityWebPlayer.cab#version=2,0,0,0"';
var pt = "";
pt += '<param name="src" value="' + src + '" />';
pt += '<param name="firstFrameCallback" value="UnityObject2.instances[' + instanceNumber + '].firstFrameCallback();"/>';
//背景色
pt += '<param name="backgroundcolor" value="000000"/>';
pt += '<param name="bordercolor" value="FFFFFF"/>';
pt += '<param name="textcolor" value="FFFFFF"/>';
//logo图片(格式必须为PNG)
pt += '<param name="logoimage" value="logo.png" />';
//进度条图片(格式必须为PNG)
pt += '<param name="progressbarimage" value="tree.png"/>';
//进度条背景图片(格式必须为PNG)
pt += '<param name="progressframeimage" value="tree.png" />';
for (var i in cfg.params) {
if (cfg.params != Object.prototype) {
if (i.toLowerCase() != "classid") {
pt += '<param name="' + i + '" value="' + cfg.params + '" />';
}
}
}
var tmpHtml = '<object classid="clsid:444785F1-DE89-4295-863A-D46C3A781394" style="display: block; width: ' + _appendPX(width) + '; height: ' + _appendPX(height) + ';"' + at + '>' + pt + '</object>';
var $object = jQuery(tmpHtml);//
targetEl.append( $object );
embeddedObjects.push( targetEl.attr('id') );
unityObject = $object[0];
} else {
……
}