开启左侧

完全Actionscript 3.0实现的开关按钮

[复制链接]
原创 想换个名字可以吗 发表于 2012-11-7 21:54:19 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
本帖最后由 郎咸蒙 于 2012-11-8 08:16 编辑

这个例子用as类实现了开关按钮,并且涉及到了继承extends和包package的概念,也涉及到利用boolean类型位运算控制状态的小技巧。
代码文件。 src.rar (965 Bytes, 下载次数: 7) 大家如果不用flex或者Flash builder的话,可以把Etthink类作为fla文档的文档类。什么是文档类?去百度!{:soso__8961432591078930798_3:}

Etthink.as

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

  5. import flash.display.Sprite;

  6. public class Etthink extends Sprite
  7. {
  8.   
  9.   public function Etthink()
  10.   {
  11.    var tg:ToggledButtonBasedSprite=new ToggledButtonBasedSprite();
  12.    this.addChild(tg);
  13.   }
  14. }
  15. }
复制代码
位于Examples包下的ToggledButtonBasedSprite类ToggledButtonBasedSprite.as。代码没有详细的注释,大家先读,回复超过30添加注释,欢迎大家提问

  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.    super();
  16.    init();
  17.   }
  18.   //写init函数只是一种惯例,使得构造函数看上去尽量简洁
  19.   private function init():void{
  20.    this._lbl=new TextField();
  21.    this._lbl.text="On";
  22.    this.addChild(this._lbl);
  23.    
  24.    this._lbl.mouseEnabled=false;
  25.    
  26.    this.buttonMode=true;
  27.    this.useHandCursor=true;
  28.    
  29.    this.addEventListener(MouseEvent.CLICK,onSelfClickHandler);
  30.   }
  31.   
  32.   private function onSelfClickHandler(e:MouseEvent):void{
  33.    if(!this._flag){
  34.     this._lbl.text="On";
  35.    }else{
  36.     this._lbl.text="Off";
  37.    }
  38.    this._flag=!_flag;
  39.    
  40.   }
  41.   
  42.   
  43. }
  44. }
复制代码
大家思考下,如何通过控制_lbl的格式来使得开关按钮的外观更加漂亮,如off的时候文字红色。文字的大小等等。

欢迎大家多发帖,参与讨论,增进彼此了解。

精彩评论2

正序浏览
想换个名字可以吗 发表于 2012-11-7 22:07:25 | 显示全部楼层

对代码做了改动,想一下修改了哪里呢
欢迎大家多发帖,参与讨论,增进彼此了解。
 楼主| 想换个名字可以吗 发表于 2012-11-7 22:11:30 | 显示全部楼层
还有就是访问控制关键词的合理使用 想想为什么是private为什么是public呢?
欢迎大家多发帖,参与讨论,增进彼此了解。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

推荐阅读更多+
会员达人更多+
广告位

最新信息

更多+

关注我们:教育技术人

官方微信

官方微博

教育技术热线:

13955453231

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

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

Email:sf@etthink.com

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