网页或者在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显示方法的话可以再显示参数中添加一个参数即可,参数如下
<param name=”wmode” value=”transparent”>
如果使用的embed方法的话,可以考虑在调用的参数中增加wmode参数即可在调用
两种方法代码如下