“我最初看到有幾個網站在做一些我想做的事情,但是還沒有完全是現在的樣子。我是想做的一些網路應用最早是想用FLASH的,但是我手下的員工對FLASH不熟悉,我想怎麼樣用傳統的Web技術也能達到FLASH的效果。後來我在實踐中發現,可以把JavaScript 和 XML 這兩種傳統的Web技術讓來實現。”
以上文字是Ajax的提出者Jesse James Garrett在“internet+互連網世紀論壇”上接受新浪網專訪時所講的話。你看了這段文字有什麼想法呢,是不是覺得FLASH與Ajax存在些共同點。前兩天寫了一篇名叫《asp+ajax打造無重新整理新聞評論系統》的文章,文章中通過一個執行個體的講解大致的闡述了關於Ajax的使用,今天,我想利用同樣的伺服器端代碼,再看看在FLASH中將如何的實現。
FLASH軟體版本:flash 8
作業系統:中文 Windows 作業系統
一、Flash知識點
1、 useCodepage
一個布爾值,它通知 Flash Player 是使用 Unicode 來解釋外部文字檔,還是使用運行播放器的作業系統的傳統字碼頁來解釋外部文字檔。預設值為 false。
由於本文所調用的外部檔案採用了GB2312,並非採用Unicode,因此必須將System.useCodepage=True, 當然如果你想確保在所有平台下運行正常,建議外部檔案使用Unicode。
2、 attachMovie(MovieClip.attachMovie 方法)
public attachMovie(id:String, name:String, depth:Number, [initObject:Object]) : MovieClip
參數:
id:String - 庫中要附加到舞台上某影片剪輯的影片剪輯元件的連結名稱。這是在"連結屬性"對話方塊中的"標識符"欄位中輸入的名稱。“連結屬性“通過右擊庫中元件”連結“彈出。
name:String - 附加到該影片剪輯的影片剪輯執行個體的唯一名稱。
depth:Number - 一個整數,指定 SWF 檔案所放位置的深度層級。
initObject:Object [可選] - (Flash Player 6 和更高版本支援)包含要用來填充新附加的影片剪輯的屬性的對象。此參數使動態建立的影片剪輯能夠接收剪輯參數。如果 initObject 不是對象,則忽略它。initObject 的所有屬性都已複製到新執行個體中。使用 initObject 指定的屬性對於建構函式是可用的。
返回 MovieClip - 對新建立的執行個體的引用。
樣本:將連結標識符為 pllist 的元件附加到主情境中。
_root.attachMovie("pllist", "pllist", 1);
3、 影片剪輯動態路徑的表示方法
由於程式中大部分影片剪輯都是通過動態載入的,對於影片剪輯的個數以及位置都是事先不確定的,這就必須要求我們在程式啟動並執行過程中給影片剪輯設定。一般情況下我們對於動態載入的影片剪輯命名都會遵循著這樣一個規律:mc1、mc2、mc3、mc4……,那麼我們如何來表示這些動態影片剪輯呢?
[ ] 數組訪問運算子
數組訪問運算子使您能夠動態地設定和檢索執行個體、變數和對象的名稱。它還使您能夠訪問對象屬性。
樣本:_root[“mc”+i]
Eval 函數
按照名稱訪問變數、屬性、對象或影片剪輯。如果運算式是變數或屬性,則返回該變數或屬性的值。如果運算式是對象或影片剪輯,則返回對該對象或影片剪輯的引用。如果無法找到運算式中列舉的元素,則返回 undefined。
樣本:eval(“_root.mc”+i)