应用思考-教育技术论坛
标题:
完全Actionscript 3.0实现的开关按钮
[打印本页]
作者:
想换个名字可以吗
时间:
2012-11-7 21:54
标题:
完全Actionscript 3.0实现的开关按钮
本帖最后由 郎咸蒙 于 2012-11-8 08:16 编辑
这个例子用as类实现了开关按钮,并且涉及到了继承extends和包package的概念,也涉及到利用boolean类型位运算控制状态的小技巧。
代码文件。
(, 下载次数: 22)
上传
点击文件名下载附件
大家如果不用flex或者flash builder的话,可以把Etthink类作为fla文档的文档类。
什么是文档类?去百度!
{:soso__8961432591078930798_3:}
http://qdydh.sinaapp.com/Etthink.swf
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的时候文字红色。文字的大小等等。
作者:
想换个名字可以吗
时间:
2012-11-7 22:07
http://qdydh.sinaapp.com/Etthink2.swf
对代码做了改动,想一下修改了哪里呢
作者:
想换个名字可以吗
时间:
2012-11-7 22:11
还有就是访问控制关键词的合理使用 想想为什么是private为什么是public呢?
欢迎光临 应用思考-教育技术论坛 (http://etthink.com/)
Powered by Discuz! X3.4