復(fù)制代碼 代碼如下:
能不能在flash動(dòng)畫中給asp傳遞變量?
faq-it.org/vb/---------------------------------------------------------------
數(shù)據(jù)庫(kù)結(jié)構(gòu):
第一步要做的是建立數(shù)據(jù)庫(kù).例子中使用Access數(shù)據(jù)庫(kù),表名為tblStaff
有三個(gè)字段:strID (自動(dòng)編號(hào)), strKnownAs(Text),strSurname (Text).
這是一個(gè)用來示范用戶名的數(shù)據(jù)庫(kù),隨便加些數(shù)據(jù)把.
第二步就是建立一個(gè)Flash 4的動(dòng)畫羅:
步驟如下:
1)建立三個(gè)text field.它們是用來顯示數(shù)據(jù)用的
2)把第一個(gè)text field的name設(shè)置為Input,它是用來接收輸入數(shù)據(jù)的
3)另外兩個(gè)text field分別命名為KnownAs和Surname
4)其它設(shè)置先為默認(rèn)
5)最后,從Flash的library中選擇增加一個(gè)按鈕 (應(yīng)該是一個(gè)可重用的組件ScrollBarButton ).
這是很重要的一步,按鈕將把輸入的變量傳遞給ASP頁面
到按鈕的屬性(Properties)上單擊Action頁. 單擊"+"號(hào)和On MouseEvent.勾上Release框.
6)再次單擊"+"號(hào)和Load/Unload Movie.選擇"Load Variables Into Location"
在URL輸入框內(nèi)輸入你的ASP文件名(例如flash.asp). 選擇Target.
7)最后,選擇Variables中的Send using POST. 單擊"+"號(hào)來設(shè)置變量
在Variable輸入框內(nèi)輸入"Input"(就是第一個(gè)text field的name)
當(dāng)上面的工作都完成后,你應(yīng)該在action box內(nèi)看到如下內(nèi)容:
On (Release)
Load Variables ("flash.asp", "", vars=POST)
Set Variable: "Input" = ""
End On
這樣當(dāng)在動(dòng)畫過程中這個(gè)按鈕被點(diǎn)擊并釋放后,Input輸入框中的內(nèi)容將被傳遞給flash.asp文件.
注意form是使用的post方式傳遞變量的.
8)現(xiàn)在建立一個(gè)HTML頁面,在其中包含這個(gè)Flash動(dòng)畫文件
第三步:ASP文件的代碼
%
Set Connection = Server.CreateObject("ADODB.Connection")
Set Recordset = Server.CreateObject("ADODB.Recordset")
Connection.Open "people" '你的數(shù)據(jù)庫(kù)連接的DSN
SQL = "SELECT * FROM tblStaff WHERE strID=" Request.Form("Input") ";"
Recordset.Open SQL,Connection,1,2
If Recordset.EOF Then
KnownAs = "Not"
Surname = "Found"
Else
KnownAs = Recordset ("strKnownAs")
Surname = Recordset ("strSurname")
End If
Recordset.Close
Connection.Close
response.write("KnownAs="+Server.URLEncode(KnownAs))
response.write("Surname="+Server.URLEncode(Surname))
%>
需要注意的是在把KnownAs和Surname傳遞回去的寫法,將是這樣的
KnownAs=Data1Surname=Data2
使用Server.URLEncode(VariableName)來保證傳遞過去變量的是按照 URL格式編碼的
下面簡(jiǎn)單介紹一下ASP和Flash通訊的原理:
變量其實(shí)都是通過URL傳遞給Flash的,其實(shí)這是一種GET方法
你不使用ASP其實(shí)也可以把變量傳遞給一個(gè)swf文件的,只要這樣:
PARAM NAME=movie VALUE="myMovie.swf?myVariable=Text+of+my+variable">
接著文本"Text of my variable"將會(huì)出現(xiàn)在Flash的動(dòng)畫中指定的位置
好了,該說的都說了,現(xiàn)在對(duì)于ASP的開發(fā)者來說,只要把Flash所需要的數(shù)據(jù)準(zhǔn)備好,然后利用Flash中的動(dòng)畫
功能就可以做出強(qiáng)勁的網(wǎng)頁出來了.最簡(jiǎn)單的是利用flash結(jié)合數(shù)據(jù)庫(kù)畫一個(gè)很漂亮的餅圖,呵呵.反正只要大家能夠想象就可以做出
很多很好的東西出來的.