应用思考-教育技术论坛
标题:
添加了注释的Actionscript 3.0开关按钮代码
[打印本页]
作者:
想换个名字可以吗
时间:
2012-11-8 08:19
标题:
添加了注释的Actionscript 3.0开关按钮代码
Etthink.as
package
{
//想一下这意味着什么
import Examples.ToggledButtonBasedSprite;
import flash.display.Sprite;
//编译器指令,设置swf文件的宽为100px高25px,背景色#aaaaaa
[SWF(width=100,height=25,backgroundColor="#AAAAAA")]
public class Etthink extends Sprite
{
public function Etthink()
{
//添加鼠标按钮
var tg:ToggledButtonBasedSprite=new ToggledButtonBasedSprite();
this.addChild(tg);
}
}
}
复制代码
ToggledButtonBasedSprite.as
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()
{
//调用父类的构造函数由flash builder自动生成可不加
super();
init();
}
//写init函数只是一种惯例,使得构造函数看上去尽量简洁
private function init():void{
//初始化标签,实例化
this._lbl=new TextField();
//设置文本的初始状态
this._lbl.text="On-click me turn off";
//把标签添加到本按钮
this.addChild(this._lbl);
//mouseEnabled属性是设置文本不响应鼠标事件
this._lbl.mouseEnabled=false;
//设置基于sprite类的开关按钮的 按钮模式buttonMode为真
this.buttonMode=true;
//使用手型鼠标指针
this.useHandCursor=true;
//为本按钮添加鼠标单击事件
this.addEventListener(MouseEvent.CLICK,onSelfClickHandler);
}
//鼠标事件响应函数
private function onSelfClickHandler(e:MouseEvent):void{
//根据_flag的值来设置标签文本
if(!this._flag){
this._lbl.text="On-click me turn off";
}else{
this._lbl.text="Off-click me turn on";
}
//实现开关按钮的核心代码
this._flag=!_flag;
}
}
}
复制代码
欢迎光临 应用思考-教育技术论坛 (http://etthink.com/)
Powered by Discuz! X3.4