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 ;

}

}

}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 面向过程编程

    面向过程编程是解决问题的一种思想,相当于武林门派,武林门派之间没有好坏之分,因此它与我们之后学习的面向对象编程其实没有好坏之分。

    py3study
  • H3C ARP概述

        ARP( Address Resolution Protocol,地址解析协议)是将 IP 地址解析为以太网 MAC 地址(或称物理地址)的协议。

    py3study
  • Python 中文转Unicode字符串

    py3study
  • 后优步爱彼迎时代,CBinsights发布50家新独角兽潜力榜单,中国5公司上榜

    价值10亿美元的科技初创企业曾像独角兽一样罕见,但现在它们的数量已足够多,成立时间也足够久。

    大数据文摘
  • CSS中的background属性与margin和padding内外边距的关系总结

    background-image:定义背景图像。需要用 url('...') 引入图片。

    德顺
  • 刷 LeetCode 那点事 !

    有一段时间没有更新 LeetCode 打卡帖了 ,其实自己有偶尔刷题 ,但是没有写成文章记录分享出来 ,主要还是自己懈怠了 ,另一个重要原因就是写这记录帖比较费...

    小小詹同学
  • 玩个锤子,李飞飞夫妇团队的最新研究

    量子位
  • Infor ERP LN工单关闭的出错解决方法之:Hours accounting present but not yet completely posted.

    <br/>|R2G000076  |         | Close Production Order failed<br/>|R2G000076  |CN00...

    崔文远TroyCui
  • 基于 vue2 构建和后台真实交互的 管理系统

    关于 此项目是 vue + element-ui 构建的后台管理系统,是后台项目node-elm 的管理系统,所有的数据都是从服务器实时获取的真实数据,具有真实...

    IMWeb前端团队
  • 基于 vue2 构建和后台真实交互的 管理系统

    此项目是 vue + element-ui 构建的后台管理系统,是后台项目node-elm 的管理系统,所有的数据都是从服务器实时获取的真实数据,具有真实的注册...

    IMWeb前端团队

扫码关注云+社区

领取腾讯云代金券