`
Fis
  • 浏览: 87549 次
  • 性别: Icon_minigender_1
  • 来自: 龙城
社区版块
存档分类
最新评论

[原创]AS3.0的自定义事件

    博客分类:
  • AS
阅读更多
  自定义事件一直是困扰我的大问题之一,dispatchEvent()、Event类、addEventListener()一直都不知道他们之间的联系和自定义事件的用法,尤其是在类与类间调用方法这些方面上更是感到玄之又玄…… 幸运的是随着使用AS时间的推移,逐渐让我体会了一些东西,也不知道是否正确,但终究值得写上一点。
  这个例子很简单,首先是一个fla文件——自定义事件.fla,为了简便,没有设置文档类。然后是一个外部类文件——MyEvent.as,这个就是我们的自定义事件类,保存了自定义事件的名称和可能用到的参数。他的代码如下:
package {
	import flash.events.Event;
	public class MyEvent extends Event{
		public static const MY_EVENT="my_event";
		public var name:String="";
		public function MyEvent(eventType:String, args:String){
			super(eventType);
			name=args;
		}
	}
}

  从上面可以很清楚的看到,在实例化类的时候就为这个新的事件对象添加了事件类型eventType和事件参数name。 这里eventType作为参数传递给了父级类Event的构造函数,以达到区分事件的目的。
  fla文件上的代码如下:
thing_mc.addEventListener(MouseEvent.CLICK, onFunc);
thing_mc.addEventListener(MyEvent.MY_EVENT, onFunc2);
function onFunc(e:MouseEvent){
	trace("按钮事件");
	thing_mc.dispatchEvent(new MyEvent(MyEvent.MY_EVENT, "自定义事件"));
}
function onFunc2(e:MyEvent){
	trace(e.name);
}

  thing_mc是舞台上的影片剪辑。在其上添加了一个点击事件,在点击触发函数onFunc中,调度了我们的自定义事件MyEvent.MY_EVENT,这就是个伏笔,若在thing_mc上注册有MyEvent.MY_EVENT类的事件处理函数,则该处理函数就会被调用,这里的处理函数就是onFunc2。
  综合以上,在整个过程当中,开头提到的Event类告诉程序要做的是“什么事”,addEventListener()告诉程序这件事“如何做”,dispatchEvent()则决定“何时做”这件事,即调用dispatchEvent()函数的时候就是事件要发生的时候。
分享到:
评论
4 楼 Fis 2012-04-11  
阿呆jinsss 写道
楼主说的简单易懂,最适合我这些理解能力差点的人,谢谢了~

:) 不客气  多多交流
3 楼 阿呆jinsss 2012-04-08  
楼主说的简单易懂,最适合我这些理解能力差点的人,谢谢了~
2 楼 Fis 2011-03-02  
xin_ny 写道
学习了,怎么我不能收藏啊!!!


难道是javaeye出Bug了?
1 楼 xin_ny 2011-02-16  
学习了,怎么我不能收藏啊!!!

相关推荐

    AS3.0自定义下拉菜单

    综上所述,AS3.0自定义下拉菜单涉及的关键知识点包括:数据绑定、事件处理、显示对象层次、样式定制、响应式设计、性能优化和组件复用。通过掌握这些概念和技术,开发者可以创建出符合项目需求的高效、美观的自定义...

    as3.0自定义ColorPicker

    在AS3.0中创建自定义ColorPicker组件时,需要考虑以下几个步骤: 1. **创建组件类**:定义一个新的DisplayObjectContainer子类,作为ColorPicker的基础。 2. **布局设计**:设置组件的图形元素,如颜色显示区域和...

    AS3.0组件详细开发教程

    AS3.0组件详细开发教程是一份专门针对Adobe Flash ActionScript 3.0技术的教程,旨在指导开发者如何创建和使用自定义组件。ActionScript 3.0是Flash平台的核心编程语言,它提供了强大的功能和高效的性能,尤其适合...

    flash AS 3.0自定义 DIY 视频播放器

    在Flash AS 3.0环境下,开发一个自定义的DIY视频播放器是一项技术含量较高的工作,涉及到多媒体处理、用户交互以及程序逻辑等多个方面。以下将详细解释这一过程中的关键知识点。 1. **ActionScript 3.0 (AS3) 基础*...

    as3.0自定义文本框的提示组件

    在ActionScript 3.0(AS3)中,开发自定义UI组件是常见的需求,以满足特定项目的交互和视觉设计。本教程将深入探讨如何创建一个自定义的文本框提示组件,该组件在用户点击文本框后能显示相关提示信息。我们将主要...

    基于as3.0小游戏

    2. **事件驱动**:AS3.0采用事件驱动模型,游戏中的各种互动,如用户点击、游戏状态改变,都会触发相应的事件。开发者通过监听和处理这些事件,实现游戏逻辑的动态响应。 3. **显示列表管理**:AS3.0中的显示列表是...

    UDP.rar_as3 udp_flash as3.0 UDP_flash发送udp_udp as3_windows as3.0

    这个"UDP.rar_as3 udp_flash as3.0 UDP_flash发送udp_udp as3_windows as3.0"的压缩包,看起来包含了一个名为"UDP.fla"的文件,这是一个Flash的源文件,可能是一个AS3的项目,用于演示或教学如何在Flash中使用UDP...

    AS 3.0中文文档

    3. **事件处理**:AS 3.0中事件处理模型的改进使得代码更清晰,事件监听器和事件对象的概念是其中的核心。 4. **显示对象和舞台**:DisplayObject类层次结构是AS 3.0图形渲染的基础,包括Sprite、MovieClip、Bitmap...

    as3.0双屏联动支持swf

    "as3.0双屏联动支持swf"的标题表明这是一个专门针对AS3.0编程语言开发的解决方案,它能够使SWF(ShockWave Flash)文件在两个显示器上同步工作。 AS3.0是ActionScript的第三个主要版本,它是Flash平台上用于创建...

    flash AS3.0游戏

    例如,游戏中的敌机移动、射击、爆炸等动态效果,都是通过AS3.0的Timeline控制和事件监听机制完成的。开发者可以精确地控制每个对象的行为,实现动态的交互效果。同时,AS3.0中的DisplayObject类库使得创建复杂的2D...

    as3.0组件详细使用与开发教程

    描述进一步强调了文档的内容将涵盖Flash环境下AS3.0组件的使用和开发,这意味着读者将学到如何在Flash中利用AS3.0编写和管理组件,从而创建动态且功能丰富的应用和游戏。这不仅包括组件的基本操作,如添加、删除和...

    as3.0做的连连看

    AS3.0的事件模型是基于观察者模式的,游戏中的用户交互(如鼠标点击)会产生事件,然后由事件监听器进行处理。在连连看游戏中,当用户点击图标时,会触发点击事件,然后检查是否有匹配的图标并执行相应的逻辑。 4....

    ddp.rar_as3 游戏_as3.0游戏_flash AS3.0

    《深入解析AS3.0对对碰游戏开发》 在当今的数字娱乐世界中,Flash技术作为曾经的网页动画和游戏开发主流,虽然已逐渐被HTML5等现代技术取代,但在许多经典游戏开发中,仍然可以看到其身影。本文将重点讨论一款基于...

    AS3.0基础教程.zip

    4. **事件驱动编程**:AS3.0使用事件监听器处理用户交互,如`addEventListener()`方法添加事件监听器,`dispatchEvent()`触发事件。 5. **动作脚本基础**:包括变量、常量、运算符、流程控制(如if语句、for循环、...

    as3.0开发游戏adobe

    4. **事件处理**:AS3.0使用事件驱动模型,事件监听和事件处理函数是响应用户输入或程序状态变化的关键。学习如何添加事件监听器、触发事件以及处理事件响应。 5. **显示列表**:显示列表是AS3.0中用于组织舞台上可...

    AS3.0地图制作,很好的资源

    AS3.0引入了强大的事件模型,使得响应用户输入变得简单。例如,使用addEventListener方法添加鼠标点击事件监听器,实现地图的点击导航功能。 3. **数据结构**:地图数据通常以某种形式的网格或节点结构存储,如二维...

    As3.0多点触控 外部加载图片 打印机打印功能

    在本文中,我们将深入探讨如何使用AS3.0(ActionScript 3.0)实现多点触控功能、外部加载图片以及打印机打印功能。这些技术是构建交互式应用程序,特别是那些在触摸屏设备上运行的应用程序所必需的。 首先,让我们...

    AS3.0 饼图 图表

    在本文中,我们将深入探讨如何使用ActionScript 3.0(AS3.0)来创建一个仿3D效果的饼图图表。ActionScript是Adobe Flash Professional中的编程语言,用于开发富互联网应用程序(RIA)。饼图是一种常用的数据可视化...

    AS 3.0帮助文档

    提供的"as3.0.chm"文件是一个基于CHM(Compiled HTML Help)格式的帮助文档,这种格式是Windows平台上的标准帮助文件格式,包含一系列组织良好的HTML页面,便于快速查找和学习AS 3.0的相关知识。文档可能涵盖了以下...

    as3.0pdf中文文档

    3. **事件处理**:AS3.0的事件模型是基于观察者模式的,通过addEventListener和removeEventListener方法来绑定和解绑事件处理函数。 4. **时间轴控制**:在Flash环境中,你可以使用AS3.0控制时间轴的播放、停止、...

Global site tag (gtag.js) - Google Analytics