开启左侧

添加了注释的Actionscript 3.0开关按钮代码

[复制链接]
想换个名字可以吗 发表于 2012-11-8 08:19:42 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

  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. }
复制代码
欢迎大家多发帖,参与讨论,增进彼此了解。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

会员达人更多+
广告位

最新信息

更多+

关注我们:教育技术人

官方微信

官方微博

教育技术热线:

13955453231

学教育技术,上教育技术论坛!

教育技术论坛征稿范围:教育技术应用案例、教程文章、优秀作品等。

Email:sf@etthink.com

Copyright   ©2007-2026  应用思考-教育技术论坛  Powered by©Discuz!  技术支持:且行资源    ( 皖ICP备10014945号-4 )