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