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灯, 水草

请输入看板名称,例如:BabyMother站内搜寻

TOP