AS3脚本使用flash cs6制作的UI方法
之前没有接触过flash的开发,原先都不知道在flash professtional cs6制作好的UI,AS3脚本怎么个调用方法。学习后得知道两种方法:
1. flash cs6将整个fla发布为swc, 借助flashdevelop直接编译时使用;对象直接编译到swf里。
2. flash cs6发布为swf,AS3通过loader运行时加载。
第一种使用比较直接,我记录一下第二种的方法。
首先flash cs6把fla发布成swf。
AS通过Loader加载swf,在某个继承自Sprite的类里:
public class Main extends Sprite { private var city:Sprite; private var tf:TextField; public function Main():void { if (stage) init(); else addEventListener(Event.ADDED_TO_STAGE, init); } private function init(e:Event = null):void { removeEventListener(Event.ADDED_TO_STAGE, init); tf = new TextField; tf.text = "init text"; addChild(tf); var helloLoader:Loader = new Loader; var url:URLRequest = new URLRequest("abc.swf"); helloLoader.load(url); helloLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete); } private function onComplete(event:Event):void { city = event.target.content as Sprite; // flash cs制作的根容器 addChild(city); var btn:DisplayObject = city.getChildByName("btn_ok"); // 容器上的一个button,根据实例名去取这个对象 if (btn != null) btn.addEventListener(MouseEvent.CLICK, onClick); } private function onClick(event:MouseEvent):void { tf.text = "click btn"; } 看一下onComplete,主要在于取根容器和根据名字取某个元件的方法。
这个东西不知道的时候很迷惑,知道后,感觉非常自然简单了。