【问题标题】:How to enable HTML content on top of Flash content without the frame rate dropping?如何在 Flash 内容之上启用 HTML 内容而不会降低帧速率?
【发布时间】:2011-01-08 21:42:10
【问题描述】:

我正在开发一个与 Javascript 通信的 Flash 应用程序,以允许更多功能,例如自定义 HTML 输入等,方法是在 Flash 应用程序顶部放置一个绝对定位的 div 并使用 Flash 和 Javascript 控制其位置等。

因为这些 html 元素必须出现在 Flash 内容之上,所以我认为以下基本 CSS 足以解决问题:

#flashContent {
                position: absolute;
                left: 0px;
                top: 0px;
                z-index: 0;
            }
            #htmlContent {
                position: absolute;
                left: 200px;
                top: 200px;
                z-index: 1;
                width: 200px;
                height: 200px;
                background-color: yellow;
            }

因此,htmlContent 的 z-index 比 Flash 内容高,因此它应该显示在其上方。不幸的是,这似乎只在您将 Flash 对象的“wmode”参数设置为“透明”时才有效。

此设置的问题在于,它会将应用程序的帧速率严重降低到无法接受的程度。

对于静态内容,这似乎不是问题,但是对于我的应用程序,您可以拖动各种元素,这些元素必须实时移动(同时移动鼠标)。

那么,如何在不使用“透明”wmode 参数的情况下在 Flash 内容之上启用 html 内容如何在使用“透明”wmode 参数时优化帧速率?

【问题讨论】:

    标签: html css flash actionscript-3 z-index


    【解决方案1】:

    您可以使用 wmode = 'opaque',并且仍然使用 z-index'ing。透明可能非常有问题。

    【讨论】:

    • 这实际上似乎可以解决问题。使用不透明有什么缺点吗?谢谢!
    • 我知道的一个缺点是如果你的设计需要一个透明的 swf,比如它下面的 HTML 内容,那你就不走运了。总的来说,不透明比透明更快,错误更少。透明有渲染和鼠标交互问题。很高兴它有帮助。
    • 这可以用 wmode='direct' 来完成吗?我必须使用那个 wmode 并且前面还有一个 html(有时)
    【解决方案2】:

    如果您已经使用 javascript 在顶部显示新图层,您可以在启用 div 时隐藏 flash,并在完成后再次显示。

    【讨论】:

    • 它们不是独立的东西。 Flash 和 HTML 对象相互融合,形成一个应用程序。
    【解决方案3】:

    不要使用绝对定位。漂浮它。

    【讨论】:

      猜你喜欢
      • 2016-09-12
      • 1970-01-01
      • 2010-09-12
      • 2013-05-23
      • 1970-01-01
      • 2017-03-23
      • 1970-01-01
      • 1970-01-01
      • 2023-03-23
      相关资源
      最近更新 更多