如何制作具有透明背景的 Flash 电影
Posted
技术标签:
【中文标题】如何制作具有透明背景的 Flash 电影【英文标题】:How to make a Flash movie with a transparent background 【发布时间】:2010-09-05 15:02:56 【问题描述】:Adobe 的这个页面说要添加一个“wmode”参数并将其值设置为“透明”:http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_1420
这在 IE 中完美运行。背景在 Firefox 和 Safari 中正确呈现,但是一旦您使用浏览器的滚动条然后将鼠标悬停在 Flash 控件上,您必须单击一次以激活该控件。如果您尝试点击 Adobe 示例中的播放按钮,您会看到此行为。
有人知道解决这个问题的方法吗?
【问题讨论】:
【参考方案1】:在花了更多时间之后,我同意@grapefrukt。将 wmode 设置为透明会导致各种奇怪的问题,我认为应该避免。
相反,我采用了将背景颜色作为参数传递的方式。我使用下面的 ActionScript 来绘制背景。
var parameters:Object = LoaderInfo(this.root.loaderInfo).parameters;
opaqueBackground = parameters["background-color"];
编辑:感谢@grapefrukt 提醒我 bgcolor 参数(这使得上面的 ActionScript 完全没有必要)
【讨论】:
【参考方案2】:您知道嵌入时可以设置背景颜色吗?
在定义对象和/或嵌入标签时,以下属性是可选的。对于 object ,除非另有说明,否则所有属性都在 param 标签中定义:
bgcolor - [十六进制 RGB 值],格式为 #RRGGBB 。指定影片的背景颜色。使用此属性覆盖 Flash 文件中指定的背景颜色设置。该属性不影响 html 页面的背景颜色。
从http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_12701&sliceId=1 剪切粘贴
【讨论】:
【参考方案3】:另一方面;将 wmode 设置为透明有一些问题。例如,它可以在某些旧版本的 Firefox(2.0 之前)中破坏滚动(闪光灯保持在同一个位置而忽略滚动)。当 wmode 透明时,我也遇到了文本字段中的 ALT 键组合不起作用的问题。
此外,如果您需要将 html-content 放在 flash-content 之上(通常不是一个好主意,但在某些情况下它很有用)wmode=transparent 是要走的路。
【讨论】:
【参考方案4】:Adobe 示例在 Firefox 3.0.1 中“有效”,因为背景是透明的。但是,在 Firefox 3.0.1 和 Safari 3.1.2 中,您必须单击播放按钮两次才能看到动画。
【讨论】:
【参考方案5】:启用无窗口模式 (wmode=) 使嵌入式 Flash 像其他元素一样操作和渲染。没有它,它会在一个单独的步骤中呈现,并且只是覆盖在浏览器的窗口上。
闪光灯元素会失去焦点吗?听起来输入焦点已移至 scollbar,然后您必须将其移回。
您也不清楚焦点问题是仅在 FF 中还是在 IE 中。
【讨论】:
以上是关于如何制作具有透明背景的 Flash 电影的主要内容,如果未能解决你的问题,请参考以下文章