經常有人問我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基礎開發習慣”,這樣更有利於理解My Code。
目錄:
- LoadVars類基礎講解(LoadVars類以下簡稱LV)
- ASP中基本的輸入輸出
- LV與ASP通訊原理
- ASP操作資料庫入門
- LV與ASP綜合運用
- 其它通訊方式原理淺談
這裡我主要圍繞我的教程進行講解,區別有些全盤灌輸的教程,我將有真對性的著重講此類的兩個方法和一個事件: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的基本格式和文法,尤其是輸入輸出語句。