我正在制作一个在Unity窗口中显示丰富内容的网站。但是,这个Unity窗口位于有下拉菜单的导航菜单下,下拉菜单位于Unity窗口后面。
在Flash中,这很容易通过将wmode
属性设置为transparent
来解决。Unity是否有类似的解决方案,或者完全不同的解决方案,允许我将标准HTML放置在Unity窗口的顶部?unity论坛上的一些相关帖子
http://forum.unity3d.com/threads/22270-Unity-Flash-Div-issue-in-Browser http://answers.unity3d.com/questions/10599/does-unity-have-an-embed-parameter-equivalent-to-f.html答案:没有办法设置一些等效的flash wmode=transparent
,但有一个解决方案,设置css visibility:hidden
(或调整大小为width:1px
&height:1px
)
所以,有点hack,但是你可以设置菜单的hover
事件来改变统一窗口的visibility
作为一个解决方案。
旧的帖子,但这可能会帮助别人。我可以让HTML在我的Mac上的Safari, Chrome, Firefox和Windows IE 10的Unity窗口上显示。我可以让它总是显示与iFrame在所有窗口。iFrame的技巧是不是所有浏览器都支持透明iFrame,所以有时你会看到iFrame,但不是透明的。IE 8根本不支持透明度,如果它被设置为开启,那么iFrame将不会显示在Unity屏幕上方。
DIV:我基本上在unity内容上浮动一个DIV。内容可以是纯HTML或Flash。不透明度似乎有助于实现这一目标。我的情况是,我们有一个菜单,需要显示在Unity窗口的顶部。请注意,Unity不是全屏模式,而是位于Div中。也许这就是为什么我可以这样做??无论如何-代码看起来像这样:
<div>
<div><unity object></div>
<div style="position:absolute; opacity:.9">html or flash content</div>
</div>
iFrame方法对于始终相同大小的内容工作得很好,但如果你有像组合框这样的东西,那么它就是一个问题,因为窗口需要首先调整高度以显示下拉框,然后iFrame背景将覆盖所有内容。一种方法是用组合框打开第二个iframe。糟透了,但这是我必须做的…
hth -达斯汀。