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,主要在于取根容器和根据名字取某个元件的方法。

这个东西不知道的时候很迷惑,知道后,感觉非常自然简单了。



你可能感兴趣的:(AS3脚本使用flash cs6制作的UI方法)