unity3d在浏览器中的全屏设置探讨

No replies
uke
User offline. Last seen 18 小时 9 分钟 ago. Offline
超级管理员
Joined: 09/07/2009
Points: 2478

用文本编辑器打开对应导出的 html 文件,找到如下代码段:

<script language="javascript1.1" type="text/javaScript">
    var hasUnity = DetectUnityWebPlayer();
    var brokenUnity = false;
    if (hasUnity) {
    
     document.write('<object id="UnityObject" classid="clsid:444785F1-DE89-4295-863A-D46C3A781394" width="800" height="600"> \n');

将其中的 width, height 改为:

width="100%" height="100%"

以上代码段的作用是:

当前控件相对它的上一层完全自动缩放

仍然存在的问题:

(1)拉伸浏览器的过程中视口没有自动调节,拉伸完后,鼠标点击下视口,会调整到当前浏览器的“全屏”。

如何:在浏览器拉伸的过程中,能看到视口在自动调整,好比,按着左键不放,在慢慢的拉伸浏览器,能看到视口也在调整的过程?
(2)FireFox 没有达到以上的效果。

改正问题(2)的方法:

找到以下代码段:

if (hasUnity) {
    
     document.write('<object id="UnityObject" classid="clsid:444785F1-DE89-4295-863A-D46C3A781394" width="100%" height="100%"> \n');
     document.write('  <param name="src" value="webplayer version.unity3d" /> \n');
     document.write('  <embed id="UnityEmbed" src="webplayer version.unity3d" width="800" height="600" type="application/vnd.unity" pluginspage="http://www.unity3d.com/unity-web-player-2.x" /> \n');
     document.write('</object>');

将这一行:

document.write('  <embed id="UnityEmbed" src="webplayer version.unity3d" width="800" height="600" type="application/vnd.unity" pluginspage="http://www.unity3d.com/unity-web-player-2.x" /> \n');

中的 width, height 改为:

width="100%" height="100%

这一行的作用是:embed 是设置音频,视频或者其他控件的,详细的参数从这里设置。。
另外 IE内核和FF浏览器解析是不一样的

这样,问题(2)解决,firefox 可以看到视口是“全屏”模式,而且能够随窗口的拉伸动态自动调整。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/evil_darker/archive/2010/09/06/5865726.aspx