应用思考-教育技术论坛

标题: 添加了注释的Actionscript 3.0开关按钮代码 [打印本页]

作者: 想换个名字可以吗    时间: 2012-11-8 08:19
标题: 添加了注释的Actionscript 3.0开关按钮代码

  1. Etthink.as
  2. package
  3. {
  4. //想一下这意味着什么
  5. import Examples.ToggledButtonBasedSprite;

  6. import flash.display.Sprite;

  7. //编译器指令,设置swf文件的宽为100px高25px,背景色#aaaaaa
  8. [SWF(width=100,height=25,backgroundColor="#AAAAAA")]
  9. public class Etthink extends Sprite
  10. {
  11.   
  12.   public function Etthink()
  13.   {
  14.    //添加鼠标按钮
  15.    var tg:ToggledButtonBasedSprite=new ToggledButtonBasedSprite();
  16.    this.addChild(tg);
  17.   }
  18. }
  19. }
复制代码
ToggledButtonBasedSprite.as

  1. package Examples
  2. {
  3. import flash.display.Sprite;
  4. import flash.events.MouseEvent;
  5. import flash.text.TextField;

  6. public class ToggledButtonBasedSprite extends Sprite
  7. {
  8.   //声明 标签文本
  9.   private var _lbl:TextField;//在具体的方法中进行实例化。
  10.   //用来控制 标签文本显示的关键通过取反!操作来实现状态反转
  11.   private var _flag:Boolean=true;
  12.   //类的构造函数
  13.   public function ToggledButtonBasedSprite()
  14.   {
  15.    //调用父类的构造函数由flash builder自动生成可不加
  16.    super();
  17.    init();
  18.   }
  19.   //写init函数只是一种惯例,使得构造函数看上去尽量简洁
  20.   private function init():void{
  21.    
  22.    //初始化标签,实例化
  23.    this._lbl=new TextField();
  24.    //设置文本的初始状态
  25.    this._lbl.text="On-click me turn off";
  26.    //把标签添加到本按钮
  27.    this.addChild(this._lbl);
  28.    
  29.    //mouseEnabled属性是设置文本不响应鼠标事件
  30.    this._lbl.mouseEnabled=false;
  31.    
  32.    
  33.    //设置基于sprite类的开关按钮的 按钮模式buttonMode为真
  34.    this.buttonMode=true;
  35.    //使用手型鼠标指针
  36.    this.useHandCursor=true;
  37.    
  38.    //为本按钮添加鼠标单击事件
  39.    this.addEventListener(MouseEvent.CLICK,onSelfClickHandler);
  40.   }
  41.   
  42.   //鼠标事件响应函数
  43.   private function onSelfClickHandler(e:MouseEvent):void{
  44.    
  45.    //根据_flag的值来设置标签文本
  46.    if(!this._flag){
  47.     this._lbl.text="On-click me turn off";
  48.    }else{
  49.     this._lbl.text="Off-click me turn on";
  50.    }
  51.    
  52.    //实现开关按钮的核心代码
  53.    this._flag=!_flag;
  54.    
  55.   }
  56.   
  57.   
  58. }
  59. }
复制代码





欢迎光临 应用思考-教育技术论坛 (http://etthink.com/) Powered by Discuz! X3.4