close

 

FLASH讀外部資料(文本|XML|ASP)


前言:

  因為工作緣故,好久沒有寫什麼象樣的東西了!最近發現論壇有個通病,就是某問題問個千遍萬遍也不倦(總有些朋友思想懶惰,到這里直接提問,連搜索都不用,這里向這些朋友提出批評,原因您比我更清楚)。根據本人多方面觀察,所以想最后一次,完全的周詳的對某些問題實際應用問題來個“圍剿活動”。本節就講“FLASH和外界聯系”的教程!本教程只供初級學習的朋友參考,高手可進行批點(最好幫助修改我的錯誤或指出更為簡單的方法,或把文檔歸整為AS2.0類),如急切需要原文檔者請繞行(廢話到此結束)

  第一講:最基本的讀取

  

loadVariables()

  loadVariablesNum()



  用法

  

loadVariables ("url" , target [, variables])

  loadVariablesNum ("url" ,level [, variables])



  區別:

  太理論的東西我就不講了,大家都知道FLASH里有層級(level),也有影片剪輯(MC)那麼:

  ?假如您想讓FLASH讀取到的資料放到某個影片剪輯中,那您就用第一個loadVariables

  ?假如您想讓FLASH讀取到的資料放到某個特定的級別,那您就用第二個loadVariablesNum

  FLASH4就有的語法,這個函數的功能就是從外部文檔(例如文本文檔,或由 CGI 腳本、Active Server Page (ASP)、PHP 或 Perl 腳本生成的文本)中讀取資料,並配置目標影片剪輯中變量的值。此動作還可用於使用新值更新活動 SWF 文檔中的變量。

  舉例說明:

  1、我們先準備一個 TXT記事本。在里面寫以下內容:

  



  t_name=tommyheng&t_age=25歲&t_from=遼寧沈陽

  解釋:上面的文本內容我定義了3個變量 t_name t_age t_from 並且分別讓給他們賦予了一個值。而且中間用了 & 分隔開了,不明白的朋友就會問了?用&分開是啥意思?那我就來告訴您,FLASH讀取外部資料,當外部資料被程式載入的時候,FLASH會自動根據 & 來 分割資料 也就是說 上面文本里的東西假如被FLASH讀取到,FLASH就自動認識他們是3個變量。

  2、我們新建一個FLASH文檔,在第一個楨寫上:

  

loadVariables("tommyheng.txt", "_root");



  或(選一個就行,別2個都寫哦)

  

loadVariablesNum("tommyheng.txt", 0);

  解釋:用2種方法把tommyheng.txt載入到FLASH中。

  第一種方法:把文本中的資料載入到FLASH的主場景中(_root 其實就是FLASH的主場景,當然,假如您想把資料放到FLASH中的某個MC中,您能夠把他修改成,_root.mc意思就是載入到主場景中的一個叫做MC的影片剪輯)

  第二種方法:把文本中的資料載入到FLASH的場景中的第0個級別,然后,在第5楨處插入一個關鍵空白楨,里面寫

  

trace(t_name);

  trace(t_age);

  trace(t_from);

  stop();



  解釋:trace()是FLASH里是個資訊輸出函數,在制作FLASH的時候,研發者能夠通過這個函數,把程式返回的結果(變量)直接輸出來觀察運行的是否正確等等,但是他只能在FLASH里使用(也就是說按CTRL ENTER的時候)您才能看到他的功能。

  把FLASH和tommyheng文本保存到同一個文檔夾中。按CTRL ENTER直接測試影片,您會發現會輸出一下結果:

  

tommyheng

  25

  遼寧沈陽

  假如您想把這些結果顯示到文本框中,而不是輸出來看,那能夠又2種方式:

  第一種方式:直接分配方式

  就是直接做3個動態文本框,分別點選每個文本框,在其屬性中找到變量,並分別填寫:

  t_name t_age t_from

  第二中方式:自定分配方式

  同樣建立3個動態文本框,但是不同的是,分別點選每個文本框,在其實例名稱處分別填寫隨便的3個名字 比如:a1 a2 a3

  然后在這楨上寫如下程式:

  

a1.text = t_name

  a2.text = t_age

  a3.text = t_from



  這樣FLASH就完成了讀取外部資料的功能!!!

  特別提示:

  某些朋友根據我的文檔進行測試或學習,會出現一個問題,那就是英文和數字顯示很正常,但是中文就顯示不正常變正了亂碼(這個是編碼問題,很高難的哦)。不要怕,我們有辦法對付他,在第一楨處寫上

  

System.useCodepage=true;

  這句話的意思就是讓FLASH認識中文(嘿嘿),按照理論上講就是讓FLASH使用運行播放器的操作系統的傳統代碼頁來解釋外部文本文檔。

  本講結束語:

  雖然我只寫了FLASH讀取文本TXT文檔,但是他同樣試用其他的格式文檔的讀取。假如您願意,您能夠把文檔的擴展名修改成 .dat 甚至您能夠把他修改成 .tommyheng 更有,也能夠是ASP了。但是假如想讀取ASP 那您必須要會ASP哦。起碼把要ASP的輸出結果也是t_name=tommyheng&t_age=25歲&t_from=遼寧沈陽

  從此我們不難看出,其實FLASH讀取什麼都無所謂,重要的一點,這個文檔輸出來的東西要能被FLASH認識 也就是 被 & 分開來的變量格式

 

文章整理:西部數碼--專業提供域名注冊虛擬主電腦服務
http://www.west263.com
以上資訊與文章正文是不可分割的一部分,如果您要轉載本文章,請保留以上資訊,謝謝!

arrow
arrow
    全站熱搜

    sleepingwolf 發表在 痞客邦 留言(0) 人氣()