11RIA 闪客社区 - 最赞 Animate Flash 论坛

搜索
查看: 2116|回复: 3
上一主题 下一主题

[事件机制] 事件练习之四(自定义发送事件类第一个方法:继承)

[复制链接] TA的其它主题
发表于 2019-1-16 15:49:06 | 显示全部楼层 |阅读模式

【游客模式】——注册会员,加入11RIA 闪客社区吧!一起见证Flash的再次辉煌……

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
[Actionscript3] 纯文本查看 复制代码
//文档类:
//在文档类中创建了一个自定义发送事件类的实例,同时也直接创建了EventDispatcher的实例;
package  {
	
	import flash.display.Sprite;
	import flash.events.EventDispatcher;
	import flash.events.Event;
	import son.ExtendsDispatcher;
	
	public class doc extends Sprite {
		//创建自定义的发送事件的实例;
		var samp:ExtendsDispatcher=new ExtendsDispatcher();
		//直接创建EventDispacther类的实例;
		var samp2:EventDispatcher=new EventDispatcher();
		public function doc() {
			//给实例添加侦听器;
			samp.addEventListener("上课",sampFun);
			samp2.addEventListener("直接创建的发送者",samp2Fun);
			//用自定义的方法来发送事件;
			samp.disSample("赵老师");
			//用直接创建的实例来发送事件;
			samp2.dispatchEvent(new Event("直接创建的发送者"));
			
			
		}
		//定义两个不同的侦听器,用来接受发送的事件,并在输出面板输出相关内容;
		private function sampFun(e:Event):void{
			trace("我收到了来自"+e.target.nam+"发送的事件:"+e.type+"!")
			}
		private function samp2Fun(e:Event):void{
			trace("这是由EventDispatcher的实例发送的事件:"+e.type+"!!")
			}
	}
	
}

//自定义一个继承EventDispatcher的类,并给自定义的类添加一个nam属性;
package son {
	import flash.events.EventDispatcher;
	import flash.events.Event;
	
	public class ExtendsDispatcher extends EventDispatcher {
		//添加属性nam;
		public var nam:String;
		public function ExtendsDispatcher() {
			// constructor code
		}
		//定义一个发送事件的方法,并通过参数给nam属性赋值;
		public function disSample(ee:String):void{
			nam=ee;
			trace("我在发送事件:上课");
			dispatchEvent(new Event("上课"))
			}

	}
	
}

 楼主| 发表于 2019-1-16 15:50:52 | 显示全部楼层
感觉学习as3越来越轻松了,有点入门的感觉了
学习心得:
1、EventDispatcher是用来发送事件的,我们想发送事件就必须创建和它相关的类的实例;
   本练习就是第一个方法:继承EventDispatcher类,
   还有两个方法:一是复合,二是接口;这两个方法以后再做;
2、事件的侦听必须坚持谁发送谁侦听的原则,别人不可以侦你发送的事件!
学习中的困惑:
   为什么要设计成“谁发送谁侦听”,别人为什么不能侦听?发送是事明明是广播发送的,别人为什么侦听不到呢?
回复

使用道具 举报

发表于 2019-1-16 18:12:54 | 显示全部楼层
本帖最后由 TKCB 于 2019-1-16 18:14 编辑

学习中的困惑:
   为什么要设计成“谁发送谁侦听”,别人为什么不能侦听?发送是事明明是广播发送的,别人为什么侦听不到呢?

你可以方向思考,如果代码逻辑设计成,可以监听任何对象的任何事件,要如何设计代码的整个逻辑!!


其实当入门之后,会越来越轻松,因为语法不是问题。。这时候难点是,那些算法,逻辑,设计模式什么的~~~

如果你想自己独立做东西,还需要懂美术,懂策划,懂审美,懂用户需求,懂运营~~~代码只是一个项目中的一个环节而已~~
回复

使用道具 举报

 楼主| 发表于 2019-1-16 21:24:27 | 显示全部楼层
TKCB 发表于 2019-1-16 18:12
学习中的困惑:
   为什么要设计成“谁发送谁侦听”,别人为什么不能侦听?发送是事明明是广播发送的,别人 ...

可是我对美工一窍不通!看来,我是不能搞项目了!
作为一个爱好,娱乐娱乐吧!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

感谢所有支持论坛的朋友:下面展示最新的5位赞助和充值的朋友……更多赞助和充值朋友的信息,请查看:永远的感谢名单

SGlW(66139)、 anghuo(841)、 whdsyes(255)、 longxia(60904)、 囫囵吞澡(58054)

下面展示总排行榜的前3名(T1-T3)和今年排行榜的前3名的朋友(C1-C3)……更多信息,请查看:总排行榜今年排行榜

T1. fhqu1462(969)、 T2. lwlpluto(14232)、 T3. 1367926921(962)  |  C1. anghuo(147)、 C2. fdisker(27945)、 C3. 囫囵吞澡(58054)



快速回复 返回顶部 返回列表