当前位置: 主页 > 平面设计 > 使用Flash CS3开发AIR程序教程

使用Flash CS3开发AIR程序教程

  • 2022-02-22
  • 来源/作者: PS123.NET收集    / 佚名    
  • 3 次浏览

[AIR]使用Flash CS3开发AIR程序教程(AIR beta2修正版)
【准备条件】:
     Flash CS3(目前AIR插件不支持中文版);
     AIR Runtime(http://labs.adobe.com/downloads/air.html);
     官方AIR插件(http://labs.adobe.com/wiki/index.php/AIR:Flash_CS3_Professional_Update);
     先确认上述软件是否都安装好了,如果没有请下载安装。
【AIR的API文档】:http://livedocs.adobe.com/labs/air/1/aslr/index.html
【图文教程】:
1、运行Flash CS3软件,点击在欢迎界面的 “Create New” 中的“Flash File(Adobe AIR)” 一项,来新建AIR项目;
 
P.S.当然你可以通过菜单里的“发布设置”,把原来做的Flash项目变成AIR项目;我在这里就不再重复了。
2、将flash文件的文档类设置为“air.test.Main”,这个是我写的一个测试类(AIR中Flash部分的代码和原来也差不多的,只是比原来多了一些特殊类而已,这个可以看上面的API文档);

Main.as代码

view plaincopy to clipboardprint?
/**  
* @link http://www.klstudio.com  
* @author Kinglong  
* @version 0.1  
*/  
  
package air.test {   
  
    import flash.display.*;        
    import flash.net.*;   
    import flash.events.*;   
    import flash.filters.*;   
    import flash.text.*;   
    import flash.system.Capabilities;   
       
    import fl.controls.Button;   
       
    public class Main extends Sprite{   
        private var _win:NativeWindow;   
        private var _close:Button;   
        public function Main(){            
            _win = stage.nativeWindow;   
            _win.title =

"AIR测试";   
               
            stage.showDefaultContextMenu = false;   
            stage.scaleMode = StageScaleMode.NO_SCALE;   
            stage.align = StageAlign.TOP_RIGHT;   
            drawBackGround();   
               
            _close = new Button();   
            _close.setStyle("textFormat",getTextFormat());             
            _close.label = "关闭";   
            _close.setSize(40,22);   
            _close.move(_win.width-_close.width - 10,8);   
            _close.addEventListener(MouseEvent.CLICK,eventHandler);   
            addChild(_close);   
        }   
           
        public function drawBackGround():void{   
            var w:uint = stage.stageWidth;   
            var h:uint = stage.stageHeight;   
            var r:uint = 20;   
            graphics.beginFill(0x009CFE,0.6);   
            graphics.drawRoundRect(0,0,w,h,r,r);   
               
            graphics.beginFill(0xFFFFFF);   
            graphics.drawRoundRect(5,5,w-10,h-10,r,r);   
               
            var label:TextField = getLabel("欢迎访问www.klstudio.com网站!",0xFFFFFF,14,true,

"宋体","http://www.klstudio.com");   
            label.x = 10;   
            label.y = 10;   
            label.filters = [getBitmapFilter()];   
            addChild(label);   
               
            _win.y = 5;   
            _win.x = Capabilities.screenResolutionX - _win.width - 5;   
               
            stage.addEventListener(MouseEvent.MOUSE_DOWN,eventHandler);   
        }          
           
        public function eventHandler(event:MouseEvent):void{   
            switch(event.target){   
                case stage:   
                    _win.startMove();   
                    break;   
                case _close:   
                    _win.close();   
                    break;   
            }   
        }   
           
        public function getBitmapFilter():BitmapFilter{   
            var color:Number = 0x000000;   
            var alpha:Number = 0.8;   
            var blurX:Number = 2;   
            var blurY:Number = 2;   
            var strength:Number = 6;

 

            var inner:Boolean = false;   
            var knockout:Boolean = false;   
            var quality:Number = BitmapFilterQuality.HIGH;   
            return new GlowFilter(color,   
                                  alpha,   
                                  blurX,   
                                  blurY,   
                                  strength,   
                                  quality,   
                                  inner,   
                                  knockout);   
        }   
           
        private function getTextFormat(color:uint=0x000000,size:uint=12,bold:Boolean=false,font:String="宋体",url:String=""):TextFormat{   
            var tf:TextFormat = new TextFormat();   
            tf.font = font;   
            tf.bold = bold;   
            tf.size = size;   
            tf.color = color;   
            if(tf.url != ""){   
                tf.url = url;   
                tf.target = "_blank";   
            }    
         
            return tf;   
        }   
           
        private function getLabel(lbl:String,color:uint=0x000000,size:uint=12,bold:Boolean=false,font:String="宋体",url:String=""):TextField{   
            var tf:TextField = new TextField();   
            tf.defaultTextFormat = getTextFormat(color,size,bold,font,url);    
            tf.autoSize = TextFieldAutoSize.LEFT;   
            tf.selectable = false;   
            tf.text = lbl;             
            return tf;   
        }      
           
    }   
       
}

3、设置AIR配置文件(其实就是一个XML文件而已),打开菜单“Command” > “AIR - Application and Installer Setting”;


    File Name: 就是AIR打包的主件名,默认就可以了;
    Name:窗体标题 ;
    ID:AIR应用程序ID字符串(老实说我也不理解这个做什么用,好像与安全认证有关)
    Version:自己定义AIR版本信息;
    Description:AIR应用程序的功能简述;
    Copyright:版权信息设置;
    Window Style:AIR程序的窗体样式(系统窗体样式,自定义窗体样式(不透明),自定义窗体样式(透明));
   
    Icon:AIR图标文件设置(图标文件都是png文件,大小有16X16,32X32,48X48,128X128四种格式);


    
    Digital signature :数字证书设置(这个是AIR beta2增加的新功能);


    
        如果有已经有数字证书文件的话,可以指定相关文件,否则就按Create按钮自己新建一个数字证书。


        
    Program menu folder:开始菜单目录设置;
    Destination folder:AIR文件生成目录路径;
    Included files:AIR文件里所包含的相关文件;
    P.S.AIR文件其实就是一个zip压缩包文件;在上面Application设置注意一下,不支持中文字符(只要有中文字符调试就报错,原因是有中文字符后,生成的xml配置文件就不完整);
4、可以通过“<ctrl>+<Enter>”来调试AIR程序,但对于trace信息都不会在输出窗口显示的,但可以菜单“Debug” > “Debug Movie” 来显示trace信息的
5、为了更显得AIR酷的感觉,本例中窗体样式就选择了“自定义窗体样式(透明)”;

6、可以通过“AIR - Application and Installer Setting”里的Publish AIR file按钮来发布AIR文件,或通过菜单“Command” > “AIR - Create AIR file”直接发布;
7、发布成功后就可以在发布目录里看到AIR文件了

【相关文件】:http://www.klstudio.com/demo/air/test/test.rar