- 浏览: 349895 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (354)
- Flash | as3 (53)
- AIR | Starling (46)
- Android (55)
- Java (10)
- C++ (6)
- PHP (43)
- IOS (9)
- Unity3D (2)
- cocos2d-x (1)
- OpenGL (2)
- WebGL (3)
- Server (4)
- MemCache (13)
- MySql (2)
- NoSql (2)
- PhoneGap (13)
- jQuery | jQuery Mobile (14)
- javaScript | html5 | css3 (14)
- Linux (1)
- Box2D (2)
- SmartFox (1)
- Ruby (0)
- Python (2)
- Golang (11)
- Redis (1)
- 开源项目 (6)
- 游戏策划 (1)
- 云平台 (2)
- 项目管理 (6)
- 听见月光 (32)
最新评论
-
kenkao:
http://www.linuxidc.com/Linux/2 ...
解决idea编译时resources文件夹内容不自动复制到输出路径classes的问题 -
kenkao:
http://blog.csdn.net/yanwushu/a ...
解决idea编译时resources文件夹内容不自动复制到输出路径classes的问题 -
wpy126:
你这种比较根本不公平AppCan 用了多个页面,jqm内容都 ...
AppCan VS PhoneGap - 对比两大移动开发平台 -
kenkao:
zs12593 写道这个,这个
这里只是转载,建议看一下原文, ...
android游戏开发框架libgdx环境搭建 -
zs12593:
这个,这个
android游戏开发框架libgdx环境搭建
http://blog.csdn.net/liminxin272/article/details/6659925
在flash中只要发生事件,Flash Player 就会调度事件对象。如果事件目标不在显示列表中,则 Flash Player 将事件对象直接调度到事件目标。例如,Flash Player 将 progress 事件对象直接调度到 URLStream 对象。但是,如果事件目标在显示列表中,则 Flash Player 将事件对象调度到显示列表,事件对象将在显示列表中穿行,直到到达事件目标。
"事件流"说明事件对象如何在显示列表中穿行。显示列表以一种可以描述为树的层次结构形式进行组织。位于显示列表层次结构顶部的是舞台,它是一种特殊的显示对象容器,用作显示列表的根。舞台由flash.display.Stage类表示,且只能通过显示对象访问。每个显示对象都有一个名为stage
的属性,该属性表示应用程序的舞台。
当Flash Player调度事件对象时,该事件对象进行一次从舞台到"目标节点"的往返行程。DOM事件规范将目标节点定义为代表事件目标的节点。也就是说,目标节点是发生了事件的显示列表对象。例如,如果用户单击名为child1
的显示列表对象,Flash Player将使用child1
作为目标节点来调度事件对象。
从概念上来说,事件流分为三部分。第一部分称为捕获阶段,该阶段包括从舞台到目标节点的父节点范围内的所有节点。第二部分称为目标阶段,该阶段仅包括目标节点。第三部分称为冒泡阶段。冒泡阶段包括从目标节点的父节点返回到舞台的行程中遇到的节点。
如果您将显示列表想像为一个垂直的层次结构,其中舞台位于顶层(如下图显示),那么这些阶段的名称就更容易理解了:
如果用户单击Child1
,Flash Player将向事件流调度一个事件对象。如下面的图像所示,对象的行程从Stage
开始,向下移动到Parent
,然后移动到 Child1
,再"冒泡"返回到Stage
:在行程中重新经过Parent
,再返回到Stage
。
在该示例中,捕获阶段在首次向下行程中包括 Stage
和 Parent
。目标阶段包括在 Child1
花费的时间。冒泡阶段包括在向上返回到根节点的行程中遇到的 Parent
和 Stage
。
事件流使现在的事件处理系统比 ActionScript 程序员以前使用的事件处理系统功能更为强大。早期版本的 ActionScript 中没有事件流,这意味着事件侦听器只能添加到生成事件的对象。在 ActionScript 3.0 中,您不但可以将事件侦听器添加到目标节点,还可以将它们添加到事件流中的任何节点。
当用户界面组件包含多个对象时,沿事件流添加事件侦听器的功能十分有用。例如,按钮对象通常包含一个用作按钮标签的文本对象。如果无法将侦听器添加 到事件流,您将必须将侦听器添加到按钮对象和文本对象,以确保您收到有关在按钮上任何位置发生的单击事件的通知。而事件流的存在则使您可以将一个事件侦听器放在按钮对象上,以处理文本对象上发生的单击事件或按钮对象上未被文本对象遮住的区域上发生的单击事件。
不过,并非每个事件对象都参与事件流的所有三个阶段。某些类型的事件(例如 enterFrame
和 init
类型的事件)会直接调度到目标节点,并不参与捕获阶段和冒泡阶段。其它事件可能以不在显示列表中的对象为目标,例如调度到 Socket 类的实例的事件。这些事件对象也将直接流至目标对象,而不参与捕获和冒泡阶段。
事件实例
Main类:
package{ import flash.display.Sprite; import flash.events.Event; import flash.events.MouseEvent; import flash.geom.Rectangle; import RectContainer; public class Main extends Sprite{ public function Main(){ var outter:Sprite = new RectContainer(10, 10, 200, 200); var middle:Sprite = new RectContainer(30, 30, 150, 150); var inner:Sprite = new RectContainer(50, 50, 100, 100); outter.name = "外部容器"; middle.name = "中间容器"; inner.name = "内层容器"; addChild(outter); outter.addChild(middle); middle.addChild(inner); inner.addEventListener(MouseEvent.CLICK, clickHandler); middle.addEventListener(MouseEvent.CLICK, clickHandler); outter.addEventListener(MouseEvent.CLICK, clickHandler); } private function clickHandler(evt:MouseEvent):void{ trace("事件发生目标:\t" + evt.target.name); trace("正在侦听事件的当前目标\t" + evt.currentTarget.name); trace("事件当前阶段\t" + evt.eventPhase); trace("=========================================="); } } }
RectContainer类:
package{ import flash.display.Sprite; public class RectContainer extends Sprite{ public function RectContainer(x:Number,y:Number,w:Number,h:Number){ this.graphics.beginFill(0xFFFFFF * Math.random()); this.graphics.drawRect(x, y, w, h); this.graphics.endFill(); } } }
F 点击内部矩形触发事件如下:
事件发生目标: 内层容器
正在侦听事件的当前目标 内层容器
事件当前阶段 2
==========================================
事件发生目标: 内层容器
正在侦听事件的当前目标 中间容器
事件当前阶段 3
==========================================
事件发生目标: 内层容器
正在侦听事件的当前目标 外部容器
事件当前阶段 3
==========================================
F 点击中部矩形触发事件如下:
事件发生目标: 中间容器
正在侦听事件的当前目标 中间容器
事件当前阶段 2
==========================================
事件发生目标: 中间容器
正在侦听事件的当前目标 外部容器
事件当前阶段 3
==========================================
F 点击外部矩形触发事件如下:
事件发生目标: 外部容器
正在侦听事件的当前目标 外部容器
事件当前阶段 2
==========================================
发表评论
-
as3 中文转拼音
2017-01-03 17:27 2485private static const PinYin:Ob ... -
解决flash builder 4.6调试不可用
2016-12-19 09:47 500来自:http://blog.csdn.net/cupi ... -
ColorMatrixFilter 色彩矩阵滤镜
2016-05-20 10:34 985包 flash.filters 类 public final ... -
ANE 在 Android 上的应用
2015-01-08 17:59 975http://blog.csdn.net/linxcool ... -
as3通用三方库大全
2014-09-25 10:41 939http://wiki.junnan.org/pages/ ... -
4个不错的Flash开源项目
2014-08-15 12:02 545原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出 ... -
Flash教程:多种图片切换效果
2014-08-12 14:16 648http://www.missyuan.com/threa ... -
DragonBones快速入门指南
2014-07-17 10:46 985DragonBones快速入门指南 ... -
[Flex]Flex编程注意之自动获取焦点、监听全局键盘事件
2014-07-17 09:40 509http://www.k-zone.cn/zblog/pos ... -
使用 jsfl 发布flash IDE 插件
2014-07-16 16:59 1037http://blog.csdn.net/aosnowas ... -
as3种常见的弹性效果公式以及波形运动等as3动画效果公式代码整理
2014-07-14 09:12 996as3种常见的弹性效果公式以及波形运动等as3动画效果公式代 ... -
基于flash AS3.0 的BASE64编码与解码类
2014-07-02 13:35 698代码 Code highlighting produc ... -
FlashBuilder 4.6下载与安装
2014-06-04 17:02 4来自:http://m.oschina.net/blog/ ... -
as3绘制饼状图
2014-03-31 17:13 666来自:http://www.cnblogs.com/ddw1 ... -
Pixel Bender 浅尝
2014-03-21 17:50 783来自:http://chaimzane.iteye.com/ ... -
Flex入门的好书——《Flex3 Cookbook 中文版》
2014-01-13 13:55 843本文标题:Flex入门的好书——《Flex3 Cook ... -
MaxRects纹理合并算法as3实现
2014-01-09 17:40 3161来自:http://www.duzengqiang.com ... -
AS3之BitmapData学习整理
2013-10-24 11:05 2679http://www.cnblogs.com/ps ... -
AS3连接MYSQL数据库
2013-10-12 17:38 594原文链接:http://www.cnblogs.com/yi ... -
flash实用工具类+开源包收藏
2013-09-09 11:02 2167来自:http://blog.sina.com.cn/s/b ...
相关推荐
理解和使用AS3的事件监听器机制对响应这些事件至关重要。 7. **动画效果**:AS3提供了强大的动画功能,可以为图表添加平滑过渡和动态效果,提升用户体验。 8. **性能优化**:由于AS3图表可能涉及大量数据处理和...
在ActionScript 3.0(简称AS3)中,事件处理是实现动态交互式应用程序的基础。本文将深入探讨AS3中的事件处理机制及其应用,并通过一个具体的示例来阐述如何在实际开发过程中运用这些概念。 ### 一、AS3中的事件...
这个“Flex.3速记表 AS3.Flex.AIR最新版(pdf)”是一个针对Flex 3开发者的重要参考资料,它涵盖了ActionScript 3(AS3)、Flex框架以及Adobe Integrated Runtime(AIR)的基础知识,帮助开发者快速查找和记忆关键概念...
在Flash编程领域,ActionScript 3(AS3)是一种强大的脚本语言,它为创建交互式、动画丰富的网络内容提供了支持。"falsh.Programming.Description.Pane.AS3.code.rar_as3" 这个压缩包文件显然包含了使用AS3编写...
1. **时间轴控制**:ActionScript 3.0引入了强大的事件驱动模型,通过` ENTER_FRAME `事件可以实现每帧执行特定代码,从而控制瀑布中元素的移动。 2. **显示对象**:AS3.0中的`DisplayObject`类及其子类(如`Sprite...
总之,AS3事件机制是通过`addEventListener`方法注册事件处理函数,使用预定义的事件常量来指定事件类型。理解并熟练运用事件处理是AS3开发的关键技能之一,它使得代码更加模块化,易于维护和扩展。在实际开发中,应...
在AS3的事件驱动模型中,事件监听器和事件派发机制就是观察者模式的典型应用。 4. **装饰器模式**:动态地给一个对象添加一些额外的职责,可以用来扩展功能而不影响其他对象。在AS3中,可以通过组合多个装饰器来...
2. **事件驱动编程**:AS3中的事件模型是其核心机制之一,允许响应用户交互或其他程序事件。事件监听器注册(addEventListener)和移除(removeEventListener)是处理事件的关键。 3. **显示列表**:AS3的显示列表...
在标签中提到了"javascript",意味着这个插件是用JavaScript语言编写的,JavaScript是Web开发中最常用的语言之一,用于处理客户端的交互逻辑,如动态更新DOM(文档对象模型)元素,处理用户输入,以及像IAS这样的...
宏观经济学05AD-AS模型.ppt
在Vue3中集成Three.js以加载FBX模型是一项常见的任务,尤其在开发3DWeb应用时。Three.js是一个强大的JavaScript库,用于在浏览器中创建和展示3D对象,而FBX是一种广泛使用的3D模型格式,它包含了丰富的动画和材质...
1. AD-AS模型:AD-AS模型(Aggregate Demand-Aggregate Supply Model)是宏观经济学中分析国民收入决定的重要工具。AD曲线(总需求曲线)描绘了价格水平(P)与国内生产总值(GDP)或国民收入(Y)之间的负相关关系...
NLP:用fastnlp搭建的情感分析模型. 导入Pytorch包 import torch import torch.nn as nn from fastNLP.io.loader import CSVLoader dataset_loader = CSVLoader(headers=('raw_words','target'), sep='\t')
import * as THREE from 'three' ``` 接下来,我们要处理外部的.obj和.mtl模型文件。.obj文件是3D对象数据格式,包含了3D模型的几何信息,而.mtl文件则包含了材质和纹理信息。Three.js提供了一个加载器`OBJLoader`...
- **事件驱动**:通过事件模型处理用户输入和其他系统事件。 - **强大的API支持**:包括图形渲染、音频/视频播放等功能。 --- ### 二、开发工具介绍 #### 2.1 FlashDevelop - **简介**:FlashDevelop是一款...
使用contesxtcapture工具生成cesium支持的3dtile格式,加载解压后的json文件即可,效果参考https://blog.csdn.net/as320qqw/article/details/60573593
import * as THREE from 'three'; import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls.js'; import { FBXLoader } from '@loaders.gl/fbx'; import { GLTFLoader } from '@loaders.gl/gltf'...
AS3GeomExporter.zip 是一个针对3D建模软件3DS MAX的插件,它能够将三维模型导出为ActionScript 3(AS3)代码,以便在Adobe Flash环境中使用。这个工具对于那些希望在Web上展示3D内容,或者利用Flash的交互性来构建...
AD-AS模型结合了产品市场、货币市场和劳动力市场的分析,旨在阐述在不同市场之间如何达到经济的总体均衡。这个模型主要探讨了总需求(Aggregate Demand, AD)和总供给(Aggregate Supply, AS)之间的相互作用,以及...