AS3初探

开发工具: 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);
       }
       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!" ;
           }
          
       }
       private function disableText(): void
       {
           username_txt.enabled = false ;
           pwd_txt.enabled = false ;
       }
      
    }
}
 
 
 
 
 

你可能感兴趣的:(开发,职场,休闲)