經(jīng)常有人問我FLASH留言板的制作方法,無奈這東西一句兩句沒辦法說清楚,于是就萌發(fā)了寫教程的想法。可后來又一想,授人以魚,不如授人以漁,還不如集中精力好好講將FLASH與ASP的通訊原理,原理通了,具體項(xiàng)目就可以自由發(fā)揮了。
我這個(gè)教程面向初級(jí)群體,在開始教程之前,我假設(shè)你已經(jīng)具備FLASH操作基礎(chǔ)知識(shí),了解IIS配置以及運(yùn)行環(huán)境。盡管FLASH與ASP通信方式有很多,但這篇教程中我選擇使用LoadVars類,一因?yàn)長(zhǎng)oadVars類容易掌握,易于講解;二是因?yàn)樗粻砍短嗥渌矫娴闹R(shí)。另外,我在ASP中采用的是JS腳本,因?yàn)镴S腳本跟AS非常像,只要你有一定的AS基礎(chǔ),JS不用學(xué)就可以基本看懂了。最后是FLASH版本,我選擇flash pro 8.0簡(jiǎn)體中文版,swf發(fā)布為AS2.0,flashplayer8.0。
在看我的教程之前,建議先抽出幾分鐘閱讀一下“FLASH基礎(chǔ)開發(fā)習(xí)慣”,這樣更有利于理解我的代碼。
目錄:
這里我主要圍繞我的教程進(jìn)行講解,區(qū)別有些全盤灌輸?shù)慕坛蹋覍⒂姓鎸?duì)性的著重講此類的兩個(gè)方法和一個(gè)事件:load、loadAndSend方法,和onLoad事件。如果你需要更詳細(xì)的了解LV類,建議你查一下幫助:幫助→flash幫助→全部書籍→ActionScript 2.0 語言參考→ActionScript 類→LoadVars。當(dāng)然你也可以直接搜索LoadVars。
LV與TXT通訊。
不是要講ASP嗎?怎么講起TXT了?呵呵,先別急,其實(shí)LV跟ASP通訊原理與跟TXT通訊原理是一樣的。TXT大家經(jīng)常用,講起來比較容易理解。
LV跟TXT通訊需要在TXT中采用“變量”/“值”配對(duì)的數(shù)據(jù)模式。比如:wenben=我要做FLASH留言本。這里“wenben”就是變量,“我要做FLASH留言本”就是值,而“=”就是它們的配對(duì)方式,也就是建立聯(lián)系的方式。 好了,現(xiàn)在我們建立一個(gè)“l(fā)v_shiyan.txt”文本文件,并在其中輸入:neirong_txt=我要做FLASH留言本。然后在同文件夾下再建立一個(gè)“l(fā)v_shiyan.fla”,在第一貞寫代碼:
//設(shè)置編碼,不然會(huì)顯示亂碼
System.useCodepage = true;
//實(shí)例化一個(gè)LV對(duì)象
var shiyan_lv = new LoadVars();
//載入外部文本
shiyan_lv.load("lv_shiyan.txt");
//載入成功后
shiyan_lv.onLoad = function(chenggong) {
if (chenggong) {
//獲取外部文本內(nèi)容
var neirong = shiyan_lv.neirong_txt;
//輸出文本內(nèi)容
trace("您載入的文本內(nèi)容是:"+neirong);
}else{
//加載失敗給予提示
trace("加載失敗");
}
};
運(yùn)行上面的代碼,你會(huì)在輸出面板中看到“您載入的文本內(nèi)容是:我要做FLASH留言本”,由此可見,外部“l(fā)v_shiyan.txt”中的內(nèi)容已經(jīng)成功加載。有興趣的朋友可以改動(dòng)一下TXT文件名,試驗(yàn)一下加載失敗的情況。
通過上面的代碼,我們學(xué)到以下知識(shí):
1,如何實(shí)例化一個(gè)LV對(duì)象(使用new關(guān)鍵字)
2,如何用LV對(duì)象加載外部文本文件(使用load方法)
3,如何判斷外部文本文件是否加載成功(使用onLoad事件)
4,當(dāng)外部文本文件加載成功后,如何獲取并利用其內(nèi)容。
在外部文本文件中,我們之所以使用“變量/值”配對(duì)的數(shù)據(jù)格式,正是為了被LV對(duì)象利用,當(dāng)外部文本文件加載成功后,其中的變量就會(huì)被LV對(duì)象記錄,而在AS中通過LV對(duì)象引用外部變量的方式則為:LV對(duì)象.外部文本文件中的變量名字。上面的代碼中即為:shiyan_lv.neirong_txt。
上面的例子中講了LV與TXT通訊的基本原理,現(xiàn)在我們來擴(kuò)展一下,如果我們想在一個(gè)外部TXT中使用多個(gè)變量如何做呢?答案其實(shí)很簡(jiǎn)單,我們只需在TXT中使用多個(gè)“變量/值”對(duì),并把每個(gè)“變量/值”對(duì)用“&”進(jìn)行分隔。我們依然利用上面示例的“l(fā)v_shiyan.txt”文件,這次把里面的內(nèi)容換成下面的形式:
neirong1_txt=戰(zhàn)勝LoadVar類!&neirong2_txt=戰(zhàn)勝ASP!&neirong3_txt=我能做FLASH留言板了!
然后再把“l(fā)v_shiyan.fla”中的代碼換成下面的內(nèi)容:
System.useCodepage = true;
var shiyan_lv = new LoadVars();
shiyan_lv.load("lv_shiyan.txt");
shiyan_lv.onLoad = function(chenggong) {
if (chenggong) {
//獲取外部文本內(nèi)容
var neirong1 = shiyan_lv.neirong1_txt;
var neirong2 = shiyan_lv.neirong2_txt;
var neirong3 = shiyan_lv.neirong3_txt;
//輸出文本內(nèi)容
trace("您載入的文本內(nèi)容是:"+neirong1+"/"+neirong2+"/"+neirong3);
}else{
trace("加載失敗");
}
};
運(yùn)行上面的代碼,在輸出窗口我們可以看到“戰(zhàn)勝LoadVar類!/戰(zhàn)勝ASP!/我能做FLASH留言板了!”,說明我們獲得了外部TXT中全部的變量?jī)?nèi)容。
有興趣的朋友可以把“l(fā)v_shiyan.txt”中的內(nèi)容改成下面的形式看輸出結(jié)果有沒有變化:
&neirong1_txt=戰(zhàn)勝LoadVar類!
&neirong2_txt=戰(zhàn)勝ASP!
&neirong3_txt=我能做FLASH留言板了!
然后再改成下面的結(jié)果再試驗(yàn)一下輸出結(jié)果:)
&neirong1_txt=戰(zhàn)勝LoadVar類!&
&neirong2_txt=戰(zhàn)勝ASP!&
&neirong3_txt=我能做FLASH留言板了!&
原因其實(shí)很簡(jiǎn)單,自己思考一下拉:)
呼呼,好了,LV類先講到這里了,下面講講ASP的基本格式和語法,尤其是輸入輸出語句。
新聞熱點(diǎn)
疑難解答