本帖最后由 郎咸蒙 于 2012-11-8 08:16 编辑
这个例子用as类实现了开关按钮,并且涉及到了继承extends和包package的概念,也涉及到利用boolean类型位运算控制状态的小技巧。
代码文件。
src.rar
(965 Bytes, 下载次数: 11)
大家如果不用flex或者Flash builder的话,可以把Etthink类作为fla文档的文档类。什么是文档类?去百度!{:soso__8961432591078930798_3:}
Etthink.as
- package
- {
- //想一下这意味着什么
- import Examples.ToggledButtonBasedSprite;
-
- import flash.display.Sprite;
-
- public class Etthink extends Sprite
- {
-
- public function Etthink()
- {
- var tg:ToggledButtonBasedSprite=new ToggledButtonBasedSprite();
- this.addChild(tg);
- }
- }
- }
复制代码 位于Examples包下的ToggledButtonBasedSprite类ToggledButtonBasedSprite.as。代码没有详细的注释,大家先读,回复超过30添加注释,欢迎大家提问
- package Examples
- {
- import flash.display.Sprite;
- import flash.events.MouseEvent;
- import flash.text.TextField;
-
- public class ToggledButtonBasedSprite extends Sprite
- {
- //声明 标签文本
- private var _lbl:TextField;//在具体的方法中进行实例化。
-
- private var _flag:Boolean=true;
-
- public function ToggledButtonBasedSprite()
- {
- super();
- init();
- }
- //写init函数只是一种惯例,使得构造函数看上去尽量简洁
- private function init():void{
- this._lbl=new TextField();
- this._lbl.text="On";
- this.addChild(this._lbl);
-
- this._lbl.mouseEnabled=false;
-
- this.buttonMode=true;
- this.useHandCursor=true;
-
- this.addEventListener(MouseEvent.CLICK,onSelfClickHandler);
- }
-
- private function onSelfClickHandler(e:MouseEvent):void{
- if(!this._flag){
- this._lbl.text="On";
- }else{
- this._lbl.text="Off";
- }
- this._flag=!_flag;
-
- }
-
-
- }
- }
复制代码 大家思考下,如何通过控制_lbl的格式来使得开关按钮的外观更加漂亮,如off的时候文字红色。文字的大小等等。
|