【游客模式】——注册会员,加入11RIA 闪客社区吧!一起见证Flash的再次辉煌……
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
[Actionscript3] 纯文本查看 复制代码 //文档类
package {
import flash.display.Sprite;
import son.Students;
import son.Techer;
import son.EventSa;
public class doc extends Sprite {
//生成教师和学生的实例;
var te:Techer=new Techer();
var stu:Students=new Students();
public function doc() {
//用下面的方法给教师添加一个事件侦听器;
te.addEventListener(EventSa.CLASS_EV,stu.study);
//用下面的方法发送事件;
//注意:事件必须先注册,后发送否则侦听函数接收不到;
te.Cla("数学");
}
}
}
//定义一个事件类;
package son {
import flash.events.Event;
public class EventSa extends Event{
//给自定义的事件取一个名称,用静态常量表示;
public static const CLASS_EV:String="上课事件";
//定义一个事件科目;
private var _claSub:String="";
public function EventSa() {
//用super方法给自定义的事件命名;
super(CLASS_EV)// constructor code
}
//设置get和set方法;
public function set claSub(e:String):void{
_claSub=e;
}
public function get claSub():String{
return _claSub;
}
}
}
//定义一个教师类;
package son {
//导入一个可以发送事件的类;
import flash.events.EventDispatcher;
//教师类必须继承EventDispatcher类,否则无法发送事件;
public class Techer extends EventDispatcher{
//给教师类复合一个自定义的事件类,用来发送;
public var ev:EventSa;
public function Techer() {
init();
trace("同学们,上课了!!")// constructor code
}
//定义一个初始化事件类的方法;
private function init(){
ev=new EventSa();
}
//定义一个方法,给用事件赋值并发送事件;
public function Cla(st:String){
ev.claSub=st;
trace("这节课是:"+ev.claSub+"课");
//用下面的方法发送事件;
dispatchEvent(ev);
}
}
}
//定义一个学生类;
package son{
public class Students {
public function Students() {
// constructor code
}
//给学生添加一个处理事件的方法,即:侦听器方法;
public function study(ev:EventSa):void{
trace("全体起立!");
trace(ev.claSub+"老师好!!!");
}
}
}
|