『壹』 FLASH AS3.0怎樣實現數據的存儲與讀取
樓上說的是把數據存進Cook裡面了,cook被清除了就沒有了。
目前flash在各方個面的應用越來越廣,而flash也不單只是注重自身絢麗的效果,也需要和外界程序交換數據,以實現更強大的功能,隨著as3的到來,flash和外部交互的方式也越來越簡便和合理化。今天就在這里談談as3和後台數據的交互(這里選擇as3+php架構,其他配置同理)。
在as3里,原來的loadVars方法已經被廢棄,而改用一系列的類來實現與後台數據的交互,這些類是:URLLoader,URLLoaderDataFormat,URLStream,URLVariables。
URLLoader 類和原來的loadVars類似,是載入文本,2進制數據,xml,URL數據等信息的有力工具。URLLoader接受一個URLRequest 作為構造的參數,使用load方法來載入數據。URLLoder也可以進行監聽,這點也loadVars不同,一個簡單的示例如下:
1. //actionscript code
2. var loader:URLLoader = new URLLoader();
3. //聲明一個URLRequest
4. var url:URLRequest = new URLRequest(」test.php」);
5. //設置傳輸方式為POST
6. url.method = URLRequestMethod.POST;
7. //聲明一個URLVariables
8. var values:URLVariables = new URLVariables();
9. //設置要傳輸的信息
10. values.message=」hello im flash!」;
11. url.data = values;
12. //設置以變數-值配對的方式解析數據
13. loader.dataFormat = URLLoaderDataFormat.VARIABLES;
14. loader.addEventListener(Event.COMPLETE,loaded);
15. function loaded(e:Event){
16. trace(loader.data);
17. //outPut: phpMessage=im php message!&flashMessage=hello im flash!
18. trace(loader.data.phpMessage);
19. // im php message!
20. trace(loader.data.flashMessage);
21. // hello im flash!
22. }
23. loader.load(url);
1. //test.php code//
2. 3. $flashData = $_POST['message'];
4. $phpMessage = 'im php message!';
5. echo "phpMessage=$phpMessage&flashMessage=$flashData";
6. ?>
以上這些就是as3里和後台交互的基礎內容,現在你可以在as3里創建這樣的交互,獲取動態數據來豐富你的程序,在你開始自己動手實驗之前,還有一些東西值得注意:
1,記得捕獲和處理異常(上述的例子里都是假定在完美的測試環境下運行,所以沒有加上異常捕獲和處理的代碼,但現實中你可能會遇到各種各樣的情況)URLLoader可能引發好幾種異常情況(詳細請參見說明文檔)
你應該通過監聽ioError和securityError事件,或者通過try-catch來處理他們,即使你確信不會發生這樣的問題。
2,文件的編碼,這是個常見的問題,經常很多數據變成了亂碼,或者解析出錯,都是因為編碼的問題,我的做法是確保發送的數據和後台傳回的數據都是UTF-8格式(因為flash默認編碼為utf-8)
『貳』 flash中利用as打開本地文件夾的方法
// 載入包
import flash.net.FileReference;
// 定義 FileReference 對象
var fileRef:FileReference = new FileReference();
// 定義 監聽對象
var fileLsn:Object = new Object();
// 定義 文件類型數組 FileReference 對象的 browse 方法的參數
// description: 描述
// extension : 擴展名列表
var fileTyp:Array = new Array({description:"Image files", extension:"*.jpg;*.gif"}, {description:"Document files", extension:"*.txt;*.doc"});
btnBrowse.onRelease = function() {
// 打開 "選擇文件" 對話框
fileRef.browse(fileTyp);
};
『叄』 flash 怎麼用 as3.0 實現打開本地文件夾、用默認程序打開本地文件。
Flash Player是不行的,要用最新的AIR2.0就可以以文件默認方式打開程序。
http://bbs.blueidea.com/thread-2950734-1-1.html
『肆』 as3.0怎麼讀取本地文件,不是txt,我要讀取文件二進制數據然後保存一個bytearray變數。
import flash.net.URLLoader;import flash.net.URLRequest;import flash.events.Event;
var txtLoad:URLLoader = new URLLoader();//txt.txt文本以UTF-8的編碼保存。var txtURL:URLRequest = new URLRequest("txt.txt");txtLoad.addEventListener(Event.COMPLETE, showContent);txtLoad.load(txtURL);function showContent(evt:Event):void{ TT.text = evt.target.data;}
//附源文件,用CS5打開。
『伍』 你好,我想問下:如何在flash as3.0中 生成本地txt文件
as3.0不可以直接操作文件,只能藉助fscommand。
給你一個參考網頁,http://blog.sina.com.cn/s/blog_3ecb9b110100a8cs.html
如果是air可以用file類直接輸入,查看file類。