Flash 板


LINE

可能今天因為場地的關係,沒能讓大家看清楚今天的Demo 我用文字補充一下: 跟Server在交換資料,比較常見的是一般的文字訊息或是XML 像我自己在趕時間的時候,我會隨便echo一個字出來知會flash說server程式已經做完了 不趕時間且資料量較多的時候,則會乖乖的用XML 不過,最近開始我比較常用的是AMF跟JSON這兩個方法 其實都還滿方便的,各有其優缺點 以下先簡單的說明一下AMF這玩意 :) AMF:Action Message Format 細節可參考:http://en.wikipedia.org/wiki/Action_Message_Format 不多說細節,就來個簡單的實作吧 :) 1. 下載AMF gateway 找個自己順手的語言吧 AMFPHP:這是PHP的 http://www.amfphp.org/ (不久之後,Zend Framework也會支援AMF) PyAMF:這是Python的(我上個月開始迷上它了,努力學習中) http://pyamf.org/ AMF.NET:這是.NET的 http://amfnet.openmymind.net/ 光看名字大概就能猜到它的後端是用什麼做的 其它還有for Java或其它的,有興趣的可以繼續google翻翻看 2. 安裝AMF gateway(以AMFPHP為例) 其它只要把下載下來的程式碼整包解開,放在Web server底下一個自己找得到的路徑就行了 我是放在 http://127.0.0.1/test/amfphp/ 底下 它有提供一個很棒的Service Browser: http://127.0.0.1/test/amfphp/browser 這是個用Flex做的介面,可以清楚列出目前在AMF gateway上的服務 3. 在AMF gateway上新增一個服務 我做了一個簡單的php類別檔,存檔為callme.php 並放在AMF gateway的services資料夾裡面 在這裡,php不像java或as一樣硬性規定類別名稱一定要跟檔名一樣... 至少php5還沒有,不過建立這習慣也不錯 <?php class callme { function callmeplease($text) { return $text; } } 上面,我做了一個callme的類別,然後裡面放了一個callmeplease的方法 這個方法會接收一個參數,執行完成之後,會把傳入的參數return回來 這裡只是簡單直接return而已,更複雜的資料庫存取程式也可以寫在這裡.... 接下來看一下剛剛那個Service Browser,會發現一個新的服務在的左手邊的列表裡 3. 新增一個Fla(這裡以AS3.0為例) import flash.net.*; var test:NetConnection = new NetConnection(); // 新增一個NetConnection物件 test.connect('http://127.0.0.1/test/amfphp/gateway.php'); // 連上AMF gateway // 這裡每家AMF gateway的實作方法應該都有差別,細節請記得看該實作說明 var returnResult:Responder = new Responder(ok, ng); // 準備一個Responder物件來接收事件,用法及參數請參考F1說明 function ok(res:Object):void { trace(res); } function ng(res:Object):void { trace(res); } //以上,我做了ok跟ng兩個簡單小function,分別是trace出它們接收到的物件 test.call('callme.callmeplease', returnResult, 'hi, flash'); // 這裡是最重要的動作,就是直接用call這個方法 // "呼叫"在gateway上面的callme這個服務裡的callmeplease這個方法 // 第二個參數是接收反應的responder,第三個參數是給callmeplease的參數 以上,callme.callmeplease會把"hi, flash"傳給AMF gateway 然後gateway回傳"hi, flash"回來給flash 順利的話,Ctrl + Enter執行,就會在output視窗看到輸出的東西了 就這樣,你的Flash已經可以跟各家有支援AMF的gateway"對談"了 上面提到的原始檔在這裡可以拿得到(其實沒幾行字,就一個php跟fla) http://code.eddie.com.tw/downloads/flash/AMF.rar 還是看不懂嗎? 沒關係 這裡有個很棒的影音教學,看完跟著作一遍就知道大概是怎麼運作的了 http://www.gotoandlearn.com/player.php?id=78 希望對大家有幫助 :) -- 誠徵PHP網站工程師,熟MVC架構 http://blog.eddie.com.tw/ 全職、兼職可,意者請敲 :) http://www.eddie.com.tw/ --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.116.139.9
1F:推 dreamboxer:推...有空來試玩AMF+Flex~終於不用拼XML了~ 一_一y(耶) 08/25 00:03
2F:推 didila:as3.0 拼xml還無所謂 算是不錯用 2.0就有點給他囧 -_- 08/25 20:20
3F:推 dimensioner:借轉 謝謝 10/31 18:42







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Gossiping站內搜尋

TOP