网页或者在 window form 中插入 flash 影片形成动态效果是很常用的动态效果显示方式,但是如果网页或者 form 是分层显示的结构,怎样才能发 flash 的背景呢?
今天 CG 解决一个小问题,关于控制 flash 影片在容器中播放时的背景透明显示问题,相信大家在做网页或者做 winform 的时候肯定遇到过,大家不需要刻意去修改 flash 影片的背景为透明因为设置透明的话在 flash 控件中显示效果是一样的,这里告诉大家一个方法设置 flash 容器(控件)的 Wmode 属性即可
下面是 Wmode 的三种不同参数:
- Window: 默认的使用模式,也是 adobe 官方手册中说明渲染速度最快的模式,但是这种
模式使用的是独立于容器的显示方式,即窗体 window 方式,使用类似我们习惯的窗体的作为
独立的打开方式,因此这样的模式下,flash 影片实质上是一个可以独立控制的 flash 播放窗体
,而且默认的背景使用的是不透明,这就是为什么容器显示的时候是分离的状态,这个窗体由
操作系统管理 - Opaque: 这是一种与 window 对应的无窗体模式,通常接受所在 DOM 管理,WEB 中通常
可以当一个 DIV 层来使用,使用也很灵活,不过这种模式使用的是绝对定位,一般是用嵌套
方式来控制显示位置,从而保证显示位置正确,通常在 web 中使用的比较多 - Transparent: 这是解决问题的模式,是一种特别的显示模式,即背景透明,而且是无视
原本的 flash 动画的背景设置,用于在多层显示效果中使用,不过这种模式官方说明是渲染
速度最慢的模式,是一种特殊的 Opaque 模式,而且要求的 flash 版本较高,大家使用的时
候要注意。
使用方法:
WinForm:直接在 AXShockWaveFile 控件的 Wmode 属性中设置相应的模式字符串即可,
如果大家用的 VC++ 的话,建议使用控件的 setWmode 方法即可,所有的编程语言都支持
此方法
web:如果使用的是 object 显示方法的话可以再显示参数中添加一个参数即可,参数如下
如果使用的embed方法的话,可以考虑在调用的参数中增加wmode参数即可在调用两种方法代码如下