as3 updateAfterEvent的作用
2013-07-12 11:06
155 查看
flash中一共有三个类具有该属性,这三个类分别是:KeyboardEvent,MouseEvent,TimerEvent。调用updateAfterEvent 属性的事件,可强制立即执行呈现操作,而不是等到呈现阶段。但是,如果 updateAfterEvent 频繁导致性能问题,应避免使用它。
1.updateAfterEvent怎么用?
有很多人做鼠标追随效果的时候,总是发现鼠标移动不流畅,不知该如何解决。
其实方法很简单,你只需要加上一句updateAfterEvent()就ok了。 2.先来看看帮助中是怎么解释as3的updateAfterEvent的:
在 onClipEvent() 处理函数内调用updateAfterEvent函数时,或将其作为传递给 setInterval() 的函数或方法的一部分进行调用时,将更新显示(与为影片设置的每秒帧数无关)。如果对 updateAfterEvent 的调用不在 onClipEvent() 处理函数内,也不是传递给 setInterval() 的函数或方法的一部分,则 Flash 将忽略该调用。此函数只对某些 Mouse 和 MovieClip 处理函数起作用:Mouse 类的 mouseDown、mouseUp、mouseMove、keyDown 和 keyUp 处理函数;MovieClip 类的 onMouseMove、onMouseDown、onMouseUp、onKeyDown 和 onKeyUp 处理函数。它对 Key 类不起作用。 3.其实说到底updateAfterEvent的作用就是使光标移动看起来更加顺畅。下面是updateAfterEvent的例子,目的让大家更方便的理解它的作用。
当鼠标移到舞台左面的“有执行updateAfterEvent”的区域时,鼠标移动将流畅,而当鼠标移动到舞台右面的“无执行updateAfterEvent”的区域时,鼠标移动较会有间断,不流畅。看看as://使用 updateAfterEvent() 继续刷新舞台以使光标的移动看起来顺畅。
package
{
import flash.display.Bitmap;
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.MouseEvent;
public class TUpdateEvent extends Sprite
{
[Embed(source="assets/TT2.jpg")]
private var img:Class;
private var bmp:Bitmap;
public function TUpdateEvent()
{
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
bmp = new img() as Bitmap;
addChild(bmp);
stage.addEventListener(MouseEvent.MOUSE_MOVE , stageMouseMove);
}
private function stageMouseMove(evt:MouseEvent):void
{
bmp.x = this.mouseX;
bmp.y = this.mouseY;
evt.updateAfterEvent();
}
}
}
从上面的例子可以看出来,调用updateAfterEvent()函数与不调用该函数视觉上的效果是不一样的,调用了会感觉很平滑,不调用会有闪烁的感觉
1.updateAfterEvent怎么用?
有很多人做鼠标追随效果的时候,总是发现鼠标移动不流畅,不知该如何解决。
其实方法很简单,你只需要加上一句updateAfterEvent()就ok了。 2.先来看看帮助中是怎么解释as3的updateAfterEvent的:
在 onClipEvent() 处理函数内调用updateAfterEvent函数时,或将其作为传递给 setInterval() 的函数或方法的一部分进行调用时,将更新显示(与为影片设置的每秒帧数无关)。如果对 updateAfterEvent 的调用不在 onClipEvent() 处理函数内,也不是传递给 setInterval() 的函数或方法的一部分,则 Flash 将忽略该调用。此函数只对某些 Mouse 和 MovieClip 处理函数起作用:Mouse 类的 mouseDown、mouseUp、mouseMove、keyDown 和 keyUp 处理函数;MovieClip 类的 onMouseMove、onMouseDown、onMouseUp、onKeyDown 和 onKeyUp 处理函数。它对 Key 类不起作用。 3.其实说到底updateAfterEvent的作用就是使光标移动看起来更加顺畅。下面是updateAfterEvent的例子,目的让大家更方便的理解它的作用。
当鼠标移到舞台左面的“有执行updateAfterEvent”的区域时,鼠标移动将流畅,而当鼠标移动到舞台右面的“无执行updateAfterEvent”的区域时,鼠标移动较会有间断,不流畅。看看as://使用 updateAfterEvent() 继续刷新舞台以使光标的移动看起来顺畅。
package
{
import flash.display.Bitmap;
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.MouseEvent;
public class TUpdateEvent extends Sprite
{
[Embed(source="assets/TT2.jpg")]
private var img:Class;
private var bmp:Bitmap;
public function TUpdateEvent()
{
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
bmp = new img() as Bitmap;
addChild(bmp);
stage.addEventListener(MouseEvent.MOUSE_MOVE , stageMouseMove);
}
private function stageMouseMove(evt:MouseEvent):void
{
bmp.x = this.mouseX;
bmp.y = this.mouseY;
evt.updateAfterEvent();
}
}
}
从上面的例子可以看出来,调用updateAfterEvent()函数与不调用该函数视觉上的效果是不一样的,调用了会感觉很平滑,不调用会有闪烁的感觉
相关文章推荐
- as3 updateAfterEvent的作用
- as3 updateAfterEvent的作用
- (转)as3 updateAfterEvent的作用
- as3 updateAfterEvent的作用
- setInterval()/clearInterval()/updateAfterEvent()
- Mouse e.updateAfterEvent 函数
- updateAfterEvent的用处
- stage.invalidate()、event.updateAfterEvent()对渲染的影响
- UpdateAfterEvent
- updateAfterEvent
- 一些动画效果用使用 updateAfterEvent
- apt-get update;apt-get upgrade;apt-get dist-upgrade各自的作用
- SSH 500错误 java.lang.IllegalArgumentException: attempt to create saveOrUpdate event with null entity
- 如何在ClientSideEvents的AfterCellUpdateHandler事件处理中取消某些不必要的postback?
- AS3作用域规则–我对闭包(closure)的理解
- Kafka巨坑:org.apache.kafka.common.errors.TimeoutException: Failed to update metadata after 60000 ms.
- setInterval与updateAfterEvents
- 捕获当前事件作用的对象event.target和event.srcElement
- How to update the Microsoft Dynamics CRM Web site port after you install Microsoft Dynamics CRM 4.0
- as3的event里面两个被忽略的方法stopImmediatePropagation,stopPropagation,泡冒…