我們常常收到一些初學網業製作的網友提出的問題,很多問題其實很簡單,只要動腦筋想一想就可以解決了,但有的網友不喜歡多思考,一遇到問題想都不想就直接去問別人,這種學習方法可不太好。而本文的作者學到一種技巧後,他發現這種技巧在兩種環境下顯示的結果不同,這個時候比較兩種環境中產生的源代碼的區別無疑是解決問題最好的方法!他也正是這樣做的,並最終解決了問題。本文涉及的問題並不算太難,但作者發現問題、解決問題的想法卻值得我們學習!
首先忠心感謝凌宇5942給我的幫助!在他的啟蒙下我發現了另一種實現flash透明背景的辦法,願與大家共同探討
凌宇5942告知的解決辦法:在flash的html發布選項中選windows mode/transparent windowless,發佈為html,插入網頁就可以得到透明的flash的效果。
不錯,照這樣的辦法去做,便可以發佈出帶有透明flash的html頁。但它有一個問題:所發布的flash動畫只在與其同時發布的html頁中顯示透明效果,而如果用dreamweaver新建一個文件,再將其插入頁面中,保存-->>f12預覽我們會發現它又是不透明的了!這是怎麼回事呢?
我仔細比較了用flash發布的html頁和用dreamweaver製作的帶有flash 動畫的兩個html頁的源代碼:
1.用flash發布的html頁源代碼:
<HTML>
<HEAD>
<TITLE>Movie2</TITLE>
</HEAD>
<BODY bgcolor="#000000">
<!-- URL's used in the movie-->
<!-- text used in the movie-->
<!--fdsaaaa aaaaaaa -->
<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase=" http://download.macromedia.com/pub/shockwave/cabs/flash
/swflash.cab#version=5,0,0,0"
WIDTH=550 HEIGHT=400>
<PARAM NAME=movie value="Movie2.swf">
<PARAM NAME=quality value=high>
<PARAM NAME=wmode value=transparent>
<PARAM NAME=bgcolor value=#FFFFFF> <!--用flash匯出後將背景改為黑色,其目的是便於觀察透明效果-->
<EMBED src="Movie2.swf" quality=high wmode=transparent bgcolor=#FFFFFF WIDTH=550 HEIGHT=400 TYPE="application/x-shockwave-flash" PLUGINSPAGE=" http://www.macromedia.com/shockwave /download/index.cgi?P1_Prod_Version
=ShockwaveFlash"></EMBED>
</OBJECT>
'www.knowsky.com
</BODY>
</HTML>
2.用dreamweaver製作的flash 動畫的html頁的原始碼:
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body bgcolor="#000000" text="#000000"><!--背景亦為黑色,其目的為便於觀察透明效果-->
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase=" http://download.macromedia.com/pub/shockwave/cabs/flash
/swflash.cab#version=5,0,0,0" width="550" height="400">
<param name=movie value="Movie2.swf">
<param name=quality value=high>
<embed src="Movie2.swf" quality=high pluginspage=" http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version
=ShockwaveFlash" type="application/x-shockwave-flash" width="550" height="400">
</embed>
</object>
</body>
</html>
請仔細比較分析兩段程式碼的<object>標記中的<embed>標記,我們發現其中的不同之處:前者有參數wmode=transparent而後者卻沒有,這就是影響flash是否透明的關鍵之所在!
請想想dreamweaver的有關flash的屬性面板,是否對parameter有印象?大家是否知道它的用處呢?
現在讓我們用dreamweaver來做透明效果:選中剛才已插入的flash動畫,右鍵單擊滑鼠選擇properties調出屬性面板後,再單擊parameter按鈕,在彈出的對話框中點擊加號圖標,在左側的parameter中鍵入wmode在右側的value框內鍵入transparent點擊ok,按f12進行預覽,ok!我們所要的透明效果就出現了!
先不要激動,我們把這項技巧推廣,它是否能對任何的按flash預設設定(即不對windows mode/transparent windowless進行修改)的動畫都奏效呢?經過我的實驗證明它是普遍試用的。也就是說在dreamweaver中插入任何一個flash動畫後,對其進行properties→parameter→wmode→value=transparent設定都可以實現flash的透明背景效果。
其實關於dreamweaver中flash動畫的parameter除了wmode外還有很多種,請大家在以後的學習中多注意,多交流!