Flash CS4新特性——支持部分Flex组件
作者:Flying 日期:2008-11-10
今天又发现Flash CS4的一个新特性:支持部分Flex组件,这得益于Flash CS4对Flex SDK的部分支持。
大家都知道,在Flash 8中有大量类似于Flex的组件,但在Flash CS3中却被去掉了,Flash CS3的组件都是轻型组件,抛弃了Flash 8/Flex的重型架构,因此我们不能在Flash CS3使用Webservice组件。在Flash CS4,我们可以使用Flex SDK来编译AS,也可以用Flex的Webservice组件来连接Webservice服务。
首先,选择Prefences>ActipnScript>ActipnScript 3.0 Settings..,打开如下对话框,添加编译Webservice所需的两个SWC:framework.swc和rpc.swc。

添加如下代码:
package {
import fl.controls.List;
import flash.display.Sprite;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import mx.rpc.soap.LoadEvent;
import mx.rpc.soap.Operation;
import mx.rpc.soap.WebService;
[SWF(backgroundColor="0xFFFFFF",width="200",height="220")]
public class City extends Sprite {
private var ws:WebService = new WebService();
private var list:List = new List();
private var op:Operation;
public function City() {
addChild(list);
list.setSize(180, 200);
list.move(10, 10);
ws.addEventListener("load", loadHandler);
ws.loadWSDL("http://www.webservicex.net/globalweather.asmx?WSDL");
}
private function loadHandler(evt:LoadEvent):void {
op=Operation(ws.getOperation("GetCitiesByCountry"));
op.addEventListener("fault", faultHandler);
op.addEventListener("result", resultHandler);
op.send("China");
}
private function faultHandler(evt:FaultEvent):void {
trace(evt.fault);
}
private function resultHandler(evt:ResultEvent):void {
for each (var xml:XML in XML(evt.result)..City) {
list.addItem({label:xml.toString()});
}
}
}
}
发布时可以选择Flash Player 9及以上版本。
显然,在Flash CS4使用Flex组件会使用swf文件大小猛增,因此慎用为好。
上一篇: Flash CS4新特性——支持Flex元数据标签
下一篇: Flex SDK 3.2和Flex Builder 3.0.2升级
文章来自: 本站原创
Tags: FlashCS4
相关日志:
评论: 1 | 引用: 0 | 查看次数: -
发表评论


|
| 219.133.238.179 |
| 取消审核 |
回复]