使用Flash CS3开发AIR程序教程(AIR beta2修正版) - 闪客居

来源:百度文库 编辑:神马文学网 时间:2024/04/28 23:25:28
使用Flash CS3开发AIR程序教程(AIR beta2修正版)
来源:Kinglong's blog 作者:Kinglong 2007-10-24 【大 中小】 TAG: 使用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;   
        }      
           
    }   
       
}   
/**
* @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、可以通过“+”来调试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文章来自: 闪客居(www.flashas.net) 详文参考:http://www.flashas.net/ria/20071024/2326.html
文章来自: 闪客居(www.flashas.net) 详文参考:http://www.flashas.net/ria/20071024/2326.html