一:目的

问:为什么要自定义事件?

答:系统提供事件不能满足。

举例:需要传递参数。

二:背景

事件不是鼓励存在的,事件始终是和一个对象相关联的,否则,单独说事件毫无意义。

举例:当英雄血为0时,死亡。

1:英雄血为0-》2:触发死亡事件-》英雄死亡。

所以:

事件:死亡事件;

对象:英雄;

英雄对应死亡事件,英雄触发引起死亡事件,无对象,不事件。

三:实例

1:初始化

hero=龙骑士

hp=3

2:攻击

-hp


3:死亡

四:代码

1:

对象类  ===英雄类:

触发事件的对象需要继承EventDispatcher

package event
{import flash.events.EventDispatcher;import flash.events.IEventDispatcher;public class Hero extends EventDispatcher{public var hp:int = 0;public function Hero(target:IEventDispatcher=null){super(target);}public function hpdown(name:String):void{hp--;if(hp==0){sayDead(name);}}private function sayDead(name:String):void{this.dispatchEvent(new DeadEvent(DeadEvent.DEAD,name));}}
}

2:

事件类==死亡事件

自定义事件需要继承Event

package event
{import flash.events.Event;public class DeadEvent extends Event{public static const DEAD:String = "dead";public var name:String;public function DeadEvent(type:String,name:String){super(type, bubbles, cancelable);this.name = name;}}
}

3:页面

给对象增加事件监听,并处理监听回调方法。

对象触发了事件后,要执行某方法。

触发事件

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()"><mx:Script><![CDATA[import mx.controls.Alert;import event.DeadEvent;import event.Hero;import event.Man;import event.MyEvent;private var hero:Hero = new Hero();function init():void{hero.hp=3;hp.text=hero.hp.toString();heroname.text="龙骑士";hero.addEventListener(DeadEvent.DEAD,DeadHandler);}function DeadHandler(e:DeadEvent):void{ds.text = e.name+"已经被杀死!";}function attack():void{if(hero.hp==0){Alert.show("已经死亡,不能攻击");}else {hero.hpdown(heroname.text);hp.text = hero.hp.toString();}}]]></mx:Script><mx:TextInput x="210" y="149" fontSize="14" id="heroname"/><mx:TextInput x="210" y="209" id="hp" fontSize="14"/><mx:Button x="210" y="264" label="攻击" click="attack()" fontSize="14"/><mx:Label x="131" y="151" text="名称"  fontSize="14"/><mx:Label x="131" y="211" text="血量"  fontSize="14"/><mx:Label x="131" y="308" text="是否死亡"  fontSize="14"/><mx:TextInput x="210" y="306" text="否" id="ds" fontSize="14"/></mx:Application>

PS:CSDN的图片上传,一直失败,也不知怎么解决

如下图:

我的图片是通过URL直接访问的

【就你不知道-Flex 自定义事件-龙骑士之死】(2012-05-25 08:29)相关推荐

  1. 如何订阅Form的自定义事件

    Window Form类有很多的属性/方法和事件,其中事件属于一种发布订阅模式 .订阅发布模式定义了一种一对多的依赖关系,让多个订阅者对象同时监听某一个主体对象.这个主体对象在自身状态变化时,会通知所 ...

  2. 一个不错的讲解flex 3中自定义事件的文章

    一个不错的讲解flex 3中自定义事件的文章 http://wangyisong.javaeye.com/blog/376118,一个不错的讲解flex 3中自定义事件的文章 posted on 20 ...

  3. [Flex] Flex 控件类 的自定义事件添加

    NewClass源码摘要:本文记录了Flex中给控件和类加入自定义事件的步骤. 正文:虽然网上已经有很多类似的资料了, 不过还是想自己写一篇,作为存档. (一)给类A加入自定义事件FavPathDel ...

  4. flex中dispatchEvent的用法(自定义事件) .

    Evevt和EventDispatcher类在as3的事件机制中是很重要的角色,dispatchEvent()是EventDispatcher类的一个事件发送方法,它可以发送出Event类或其子类的实 ...

  5. Flash/Flex学习笔记(34):AS3中的自定义事件

    类似C#中自定义事件需要一个自定义的EventArgs子类一样,AS3也需要开发者自定义一个Event类的子类,这里我们假设一种场景:设计一个Person(人物)类,里面有Age(年龄),Name(姓 ...

  6. Javascript自定义事件功能与用法实例分析

    原文地址:https://www.jb51.net/article/127776.htm 本文实例讲述了javascript自定义事件功能与用法.分享给大家供大家参考,具体如下: 概述 自定义事件很难 ...

  7. 「后端小伙伴来学前端了」关于Vue中的自定义事件,组件绑定自定义事件实现通信

    傍晚的月亮 前言 原本这篇打算写Vue中的那个全局事件总线的原理,但是发现自己少写了这个自定义事件,不讲明白这个自定义事件的操作,不好写全局事件原理,于是就有了这篇文章拉. 一.v-on指令 要讲自定 ...

  8. javascript自定义事件应用实例

    可以先看例子 从 js 自定义事件 里知道:元素A通过dispatchEvent方法触发的事件,只有A上注册的监听器才能监听得到. 我们想要的效果是,别的对象干了某件事之后, 发个消息给我们,好让我们 ...

  9. Qt 自定义事件的实现

    初学Qt,用了Qt自带的事件,然后想怎么才能定义自己的事件呢?又如何使用自定义事件呢?看了篇文章,说先要子类化QEvent,然后定义自己的QEvent::Type,然后重写QWidget::event ...

最新文章

  1. iphone无线充电充电测试软件,无线充电哪家强?5款Qi无线充电板横向测评
  2. Linux内核引导简析
  3. 华为计算机如何计算sina,一道华为的“简单四则运算”题
  4. 防范攻击 加强管控 - 数据库安全的16条军规
  5. java发送http跨域_跨域发送HTTP请求详解
  6. 计算机硬件中英对照,计算机硬件名称中英文对照表
  7. 我就是一根儿筋 也许问题很简单
  8. hive-0.11.0安装方法具体解释
  9. HTML5视频放完自动跳转,炫酷html5 网站视频自动跳转代码,零基础秒学
  10. 微信开发者工具登录问题,网络连接失败
  11. oracle 存储过程body,【随手记】Oracle存储过程报错 Compilation errors for PACKAGE BODY
  12. MAX96706开发板POC电路分析
  13. python中幂运算_python 计算幂
  14. 肝了一天一夜 吐血整理的超级实用的Web前端面试题总结
  15. linux命令行下的BT软件
  16. elasticSearch(二)springboot与es的整合
  17. select函数作用
  18. Android记账本APP开发进阶版
  19. 劣质VGA线导致不支持非标准分辨率显示
  20. 用计算机命令合成机械头像,PHOTOSHOP合成的逼真机械头像

热门文章

  1. 1.4多媒体计算机系统教案,1.4 多媒体计算机系统_教案
  2. C语言指针(分分钟玩转)
  3. CS-Script简介
  4. C语言学习笔记之C语言简史(不看后悔系列)
  5. CF7C--Line翻译
  6. 因更新驱动致“win7重启后无法正常启动、无法通过系统还原修复”的解决方案。
  7. 荣誉丨云和恩墨受邀参加CDEC2021,获优秀数智生态伙伴奖
  8. OrCAD error Subcircuit xxx used by X_U1 is undefined
  9. SNL文法的递归下降语法分析器
  10. Halcon 算子 get_contour_global_attrib_xld