加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Flex effect /event

发布时间:2020-12-15 03:52:47 所属栏目:百科 来源:网络整理
导读:effect? Flex的行为机制使得开发者可以很方便地为应用程序添加动画效果,从而使用户界面更加丰富多彩。 行为 Flex中的行为( Behavior )是由触发器( Trigger )和效果( Effect )组合而成。 当用户在界面中进行某项操作时,如果单击某个按钮,触发器会被

effect?

Flex的行为机制使得开发者可以很方便地为应用程序添加动画效果,从而使用户界面更加丰富多彩。

行为

Flex中的行为(Behavior)是由触发器(Trigger)和效果(Effect)组合而成。

当用户在界面中进行某项操作时,如果单击某个按钮,触发器会被激活,从而使目标组件发生某些视觉或听觉上的变化。

例如播放一段逐渐显示的动画或发出声响等。

触发器可以由用户操作触发,也可以由程序触发,一个触发器可以对应多个效果。

触发器和效果

触发器的使用非常简单。

可以作为MXML标记中的属性,也可以在<mx:Style>标记中调用,或者再ActionScript中用setStyle()和getStyle()方法调用。

触发器的名称为triggerEvent名称+“Event”后缀。

按照这种名称约定,mouseDown事件的触发器名称为mouseDownEffect。

Flex中提供的触发器名称包括以下几种。

addedEffect:当组件添加到容器中时触发。

creationCompleteEffect:组件创建完毕时触发。

focusInEffect:组件获得焦点时触发。

focusOutEffect:组件失去焦点时触发。

hideEffect:当组件的visible属性更改为false时触发。

mouseDownEffect:按下鼠标时触发。

mouseUpEffect:释放鼠标时触发。

moveEffect:组件移动时触发。

removedEffect:组件被移除时触发。

resizeEffect:组件变化大小时触发。

rollOutEffect:鼠标从组件上移开时触发。

rollOverEffect:鼠标移动到组件上时触发。

showEffect:组件的visible属性更改为true时触发。


*******************************************************************************************************************************************

event

事件流机制可以分为3个阶段,按照先后发生的顺序如下所示。

捕获阶段(Capture):从顶部到目标

目标阶段(Target):到达目标

冒泡阶段(Budding):从目标到顶部


1 不是所有时间都有三个阶段:Capture,Target,Budding。

? ?事件只有在DisplayObject上才有Capturing和Budding阶段。

2 Target是派发该事件的对象。CurrentTarget是监听了该事件并正在处理该事件的对象。

3 Capturing流程:从根节点到叶节点的父对象。

4 Budding流程:从叶节点的父到根节点。

5 在mxml标签中定义的事件监听器是无法用removeEventListener()去掉的,并且无法设置useCapture和priority属性。

6 用removeEventListener()去掉未添加的事件器时不会报错的,

? ? 所有无需用hasListener()判断,但添加时需要判断,否则可能会添加多次。

7 Priority越大的监听器,越先执行。

8 weakRef对于非内嵌函数没用。如果设为true,只要内嵌函数可能会被垃圾回收期处理。

9 一个对象可以给同一个事件多个监听器。

10 removeEventListener()只能一次去掉一个监听器,为同一个事件添加了几个监听器就需要调几次removeEventListener(),而且参数要相符。

11 hasEventListener()与willTrigger()的区别是:

? ? ?hasEventListener()只检查它所属的对象,而willTrigger()检查整个事件流以查找由type参数指定的事件。

12 keyCode对应的是key在键盘上的键值,是一个数字;charCode对应的是该key在当前字符集中的值,也是一个数字。

? ? ?因此就有下面的情况发生:1和!的keyCode是一样的,但他们的charCode是不一样的。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读