Flash 不能和資料庫直接連結,不過要儲存資料的話有以下兩種方法
1. 儲存 在 本機的 cookie
2. 透過 HTTP GET 或 POST 的方式 向中介網站(PHP,ASP,JSP,...)等 再向資料庫溝通
2011年3月31日 星期四
2011年3月30日 星期三
轉貼 AC3 讀取傳送JSON
標籤:
ActionScript3,
Flash
假設有一個JSON 紀錄學生 id 和 name
[
{"id":"001","name":"Andy"},
{"id":"002","name":"Ben"},
{"id":"003","name":"Chris"},
{"id":"004","name":"Dora"}
]
資料放在Localhost 的本端資料庫上
以下是AC3 的語法
註1
遠端的位置
參考:
[1] as3corelib
[2] as3 讀取和發送JSON
[
{"id":"001","name":"Andy"},
{"id":"002","name":"Ben"},
{"id":"003","name":"Chris"},
{"id":"004","name":"Dora"}
]
資料放在Localhost 的本端資料庫上
以下是AC3 的語法
import com.adobe.serialization.json.JSON;
/// Set db path
var url:String = "http://localhost:8888/getStudentJSON"; /// 註1
var urlRequest:URLRequest = new URLRequest(url);
//宣告變數
var LODAR:URLLoader = new URLLoader();
//讀取
LODAR.load(urlRequest);
//監聽事件,當傳輸結束呼叫 decodeJSON function
LDR.addEventListener(Event.COMPLETE,decodeJSON );
function decodeJSON(evt:Event):void
{
/// 宣告 student 陣列
var student:Array = JSON.decode(URLLoader(evt.target).data);
/// 取得每個學生的姓名
for (var i=0; i<student.length; i++) {
trace( student[i].name );
}
}
註1
遠端的位置
參考:
[1] as3corelib
[2] as3 讀取和發送JSON
Flash CS5 引用外部 library 以 com.adobe.serialization.json.JSON 為例
標籤:
ActionScript3,
Flash
要引用外部的函式庫的話,在CS5 的環境下,流程是這樣
1. 先下載函式 這裡我以 JSON 的函式為例
到這裡下載 https://github.com/mikechambers/as3corelib/blob/master/src/com/adobe/serialization/json/JSON.as
2. 解壓縮
3. 打開CS5
4. 在CS5 選擇 編輯->偏好設定

5. 類別中選擇 ActionScript, 之後在語言 地方 點 ActionScript3.0設定

6. 在 來源路徑中選擇 剛剛解壓縮的資料夾下面的 SRC 資料夾位置

7. 點下 確定 完成設定
之後就可以順利在 ActionScript 中 import 函式庫了
import com.adobe.serialization.json.JSON;
轉貼 Flash AC3 讀取外部資料
標籤:
ActionScript3,
Flash
AC3 不同於 AC2 在讀取外部資料(或資料庫)的方式,採用不同語法 ,是用 urlRequest 和 URLLoader 的方式來接資料, 而 AC2 是用 Loadvars 的方式, 所以想使用AC3 開發的話,看到 Loadvars 就可以略過了。
以下是簡單的code:
註1
所請求的網址,可以是PHP,JSP,Servlet,XML or txt 檔
註2( [2])
接收資料類型
a. BINARY : String = "binary"
[靜態] 會指定以原始二進位資料的形式接收下載的資料。
b. URLLoaderDataFormat TEXT : String = "text"
[靜態] 會指定以文字的形式接收下載的資料。
c. URLLoaderDataFormat VARIABLES : String = "variables"
[靜態] 會指定以 URL 編碼的變數形式接收下載的資料。
參考:
[1] ActionScript3 (AS3) URLLoader 讀取外部變數
[2] ActionScript 3.0 語言和組件參考
以下是簡單的code:
/// Set path
var url:String = "http://localhost:8888/hello"; /// 註1
var urlRequest:URLRequest = new URLRequest(url);
var LDR:URLLoader = new URLLoader();
LDR.load(urlRequest);
//LDR.dataFormat = URLLoaderDataFormat.; /// 註2
LDR.addEventListener(Event.COMPLETE,Loadcomp);
function Loadcomp(event:Event){
trace(LDR.data);
}
註1
所請求的網址,可以是PHP,JSP,Servlet,XML or txt 檔
註2( [2])
接收資料類型
a. BINARY : String = "binary"
[靜態] 會指定以原始二進位資料的形式接收下載的資料。
b. URLLoaderDataFormat TEXT : String = "text"
[靜態] 會指定以文字的形式接收下載的資料。
c. URLLoaderDataFormat VARIABLES : String = "variables"
[靜態] 會指定以 URL 編碼的變數形式接收下載的資料。
參考:
[1] ActionScript3 (AS3) URLLoader 讀取外部變數
[2] ActionScript 3.0 語言和組件參考
訂閱:
文章 (Atom)