看板 Flash 關於我們 聯絡資訊
今天在修改 Flash 當中一段 code 要從外部抓資料回來 因為一次只能傳回一個 return 但是要傳的資料又很多決定用 Array 來收 因為使用 AMF PHP 所以傳回來的資料會獨自出現在一個 Function 當中 大概會象下面這種格式 connection.call(xxxx); // 呼叫 AMF PHP 要資料 function get (A1:Array) { // 接收資料的 function } 因為收進來的資料 需要給其他 Function 使用 只好宣告一個全域變數的陣列(Array) var A0:Array = new Array; 原本直接打 A0 = A1; 會出問題 不知道為甚麼在我打這篇時又可以了 @@" 所以複製陣列可以直接 A0 = A1? 我原本都還打算用 for 回圈 + push 來複製陣列了 那我之前的 bug 是在鬼打牆甚麼 ><" 順便把查找資料的心得附上... 清空陣列 array = new Array; 不過還有更妙的寫法(更快) array.length = 0; (查到的時候很傻眼) 複製陣列的另外一個寫法 var arrayCopy = array.concat(); 不過我測試一下好像也可以用 var arrayCopy : new Array; arrayCopy = array.concat; 不過還是覺得很奇怪阿... 明明早上用 var A1:Array = new Array( , , , ,); var A2:Array = new Array; A2 = A1; 還會出現 bug 不給我用 怎麼突然又可以了... 有沒人能告訴我這是怎麼個鬼打牆法阿 ><" -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.25.241.138
aquarianboy:如果要傳像是陣列型態的複雜型態,我會建議把它序列化 04/22 14:18
aquarianboy:(serialize),到AS裡再把它解開(deserialize) 04/22 14:19
aquarianboy:JSON格式還不錯用,而且php跟AS3都找得到支援的 04/22 14:19
STARGAZERs:PHP 當中做序列化到 AS 要怎麼解開序列阿? 04/23 12:10
aquarianboy:回文不是有寫了?! 04/23 12:20
STARGAZERs:恩... 從看一次之後明白了... 04/23 12:32
STARGAZERs:簡單來說... 必須要另外 import 函示 flash 沒內建 04/23 12:32
STARGAZERs:應該是這樣沒錯吧 O_O 04/23 12:33
STARGAZERs:感謝版主大人的辛苦回文!! 04/23 12:33