注册 | 登录 忘记密码? 51cto首页 | 博客 | 论坛 | 招聘
热点文章 子域部署Exchange服务器详..
 帮助

AS3初探


2008-06-01 18:07:00
 标签:开发   [推送到技术圈]

版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://51flash.blog.51cto.com/262426/79802
开发工具:FLEX BUILDER3 PRO
 
语言:AS 3.0
 
操作系统:Windows XP SP2
 
1.       flex3 里新建一个AS工程取名为login2
2.       导入所需要的包(如果无法使用fl包,请参照我的前一篇文章:flex3 里如何导入FLASH CS3的包)
   import fl.controls.Button;
    import fl.controls.Label;
    import fl.controls.TextInput;
   
    import flash.display.Sprite;
    import flash.events.MouseEvent;
3.       定义变量(将来在舞台上出现的对象)
       //用户名标签和输入框
       private var username_label:Label;
       private var username_txt:TextInput;
      
       //密码标签和输入框
       private var pwd_label:Label;
       private var pwd_txt:TextInput;
      
       //登录按钮
       private var login_btn:Button;
      
       //提示消息
       private var showmsg_label:Label;
4.    定义函数让以上的对象并添加到在舞台上
   //定义用户名标签函数
       private function setusernamelabel():void
       {
           username_label = new Label();
           username_label.text = "UserName" ;
           username_label.move(10,10);
           this.addChild(username_label);
       }
      
       private function setusernametxt():void
       {
           username_txt = new TextInput();
           username_txt.move(90,10);
           this.addChild(username_txt);
       }
      
       //定义密码标签函数
       private function setpwdlabel():void
       {
           pwd_label = new Label();
           pwd_label.text = "PassWord" ;
           pwd_label.move(10,40);
           this.addChild(pwd_label);
       }
      
       private function setpwdtxt():void
       {
           pwd_txt = new TextInput();
           pwd_txt.displayAsPassword = true ;
           pwd_txt.move(90,40);
           this.addChild(pwd_txt);
       }
      
       //初始化状态信息标签
       private function setshowmsg():void
       {
           showmsg_label = new Label();
           showmsg_label.move(90,100);
           showmsg_label.text = "";
           this.addChild(showmsg_label);
       }
      
       //定义login按钮函数
       private function setButton():void
       {
           login_btn = new Button();
           login_btn.label = "Login" ;
           login_btn.move(90,70);
           login_btn.addEventListener(MouseEvent.CLICK,login_click);
           this.addChild(login_btn);
       }
5.    定义事件函数,这里定义的是鼠标事件
    private function login_click(e:MouseEvent):void
       {
          
           if (username_txt.text != "admin" || pwd_txt.text != "admin")
           {
              showmsg_label.text = "UserName or Password is Error!";
              disableText();
           }
           else
           {
              showmsg_label.text = "Login Success!";
           }
          
       }
6.    在构造函数里初始化这些函数,否则舞台上是不会显示任何东西的,注意在这个函数过程中任何对象的引用都要先初始化,否则会提示无法引用空对象!
 
    private function setshowmsg():void
       {
           showmsg_label = new Label();
           showmsg_label.move(90,100);
           showmsg_label.text = "";
           this.addChild(showmsg_label);
       }
7.    测试。
8.    完整代码:
package {
 
    import fl.controls.Button;
    import fl.controls.Label;
    import fl.controls.TextInput;
   
    import flash.display.Sprite;
    import flash.events.MouseEvent;
 
    public class login2 extends Sprite
    {
       //用户名标签和输入框
       private var username_label:Label;
       private var username_txt:TextInput;
      
       //密码标签和输入框
       private var pwd_label:Label;
       private var pwd_txt:TextInput;
      
       //登录按钮
       private var login_btn:Button;
      
       //提示消息
       private var showmsg_label:Label;
      
       public function login2()
       {
           setusernamelabel();
           setusernametxt();
           setpwdlabel();
           setpwdtxt();
           setButton();
           setshowmsg();
          
          
       }
       //定义用户名标签函数
       private function setusernamelabel():void
       {
           username_label = new Label();
           username_label.text = "UserName" ;
           username_label.move(10,10);
           this.addChild(username_label);
       }
      
       private function setusernametxt():void
       {
           username_txt = new TextInput();
           username_txt.move(90,10);
           this.addChild(username_txt);
       }
      
       //定义密码标签函数
       private function setpwdlabel():void
       {
           pwd_label = new Label();
           pwd_label.text = "PassWord" ;
           pwd_label.move(10,40);
           this.addChild(pwd_label);
       }
      
       private function setpwdtxt():void
       {
           pwd_txt = new TextInput();
           pwd_txt.displayAsPassword = true ;
           pwd_txt.move(90,40);
           this.addChild(pwd_txt);
       }
      
       //初始化状态信息标签
       private function setshowmsg():void
       {
           showmsg_label = new Label();
           showmsg_label.move(90,100);
           showmsg_label.text = "";
           this.addChild(showmsg_label);
       }
      
       //定义login按钮函数
       private function setButton():void
       {
           login_btn = new Button();
           login_btn.label = "Login" ;
           login_btn.move(90,70);
           login_btn.addEventListener(MouseEvent.CLICK,login_click);
           this.addChild(login_btn);
       }