`

updateAfterEvent的作用

 
阅读更多

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() 函数与不调用该函数视觉上的效果是不一样的,调用了会感觉很平滑,不调用会有闪烁的感觉

分享到:
评论

相关推荐

    Flash常用技巧(一)知识.pdf

    ` 将鼠标的当前位置赋值给MC,使其跟随鼠标移动,`updateAfterEvent();` 确保MC平滑移动,避免闪烁。为了防止MC超出场景边缘,可在顶层添加一个黑色遮盖框。 2. **读取键盘输入的字符** 若要检测用户键盘输入并与...

    一个会让flash下雨的代码

    - `updateAfterEvent();`:此函数调用用于确保所有对象更新完毕后再继续执行后续操作。 - `c++`:这里用于递增变量 `c` 的值,通常用于控制雨滴的数量。 - `if (c > 300) { clearInterval(kk); }`:当 `c` 的值...

    flash actionscript3游戏开发之 AS3中实现卡马克卷轴算法(横版过关游戏).zip_actionscript什么意思

    AS3有两种主要的屏幕刷新操作:自动渲染(enterFrame)和事件渲染(updateAfterEvent)。前者在每一帧都会触发,适合连续更新的场景;后者则在特定事件发生后更新,适用于不连续或低频率的更新需求。在卷轴游戏中,...

    flash as2.0基础编程实例集锦

    10. **平滑运动updateAfterEvent**:在Flash中实现平滑的动画效果,需要正确使用`updateAfterEvent()`函数。这个实例会教你如何通过它来优化动画帧率,使得运动更加流畅自然。 通过这些实例,初学者可以逐步掌握AS...

    flash制作电子地图

    updateAfterEvent(); if (Math.abs(_root.nowRate-this._xscale)) { changeRate(this, _root.nowRate); setSites(); _root.rateMC.dragMC.sites._visible = true; delete this.onEnterFrame; } }...

    FLASH常用代码

    `updateAfterEvent()` 被调用来确保所有属性更改立即生效。当计数器 `c` 达到100时,通过 `clearInterval` 停止循环执行,避免无限复制。 ### 3. 动态资源加载进度显示 代码片段: ```javascript yxz=_root....

    AS3语法

    evt.updateAfterEvent(); } } ``` 4. SimpleButton类:AS3中有一个新的类:SimpleButton(flash.display.SimpleButton)。这个类允许你通过AS创建一个按钮。 这些知识点都是AS3语法的重要组成部分,掌握这些知识...

    Flash.CS3网站商业设计从入门到精通第7章__Flash常用交互技术——

    5. `updateAfterEvent()` 函数则用于确保在当前事件处理完成后立即更新显示列表。 在实现自定义鼠标外观时,还会涉及到碰撞检测,比如使用 `MovieClip.hitTest()` 方法来检测对象是否与特定区域重叠。这个方法有两...

    Flash.CS3网站商业设计从入门到精通-教学PPT7

    - `updateAfterEvent()` 函数:强制Flash立即更新屏幕,确保鼠标交互的即时反馈。 7.1.3 实例制作 本例展示了如何根据鼠标在不同形状(正方形和五角星)内的位置,动态改变鼠标指针的外观。当鼠标在五角星内,显示...

    flash8:一帧做出雪景画面

    `updateAfterEvent()` 确保所有动画更新都发生在下一帧。`for` 循环遍历每个雪花,更新其旋转角度、水平和垂直移动,同时调用 `scanTar` 和 `scanEdge` 函数来处理雪花的生命周期和边界检查。 `scanTar` 函数检查...

    flash action script 经典字典教程大全,学flash必备

    flash action script 经典字典教程大全,学flash必备 -- --(递减) ++ ++(递增) ! !(逻辑 NOT) ......._highquality _highquality、Button._highquality、MovieClip._highquality、TextField._highquality ...

    AS3经典范例之随机三点拖动.rar

    在事件处理函数中,根据鼠标的位置更新点的坐标,并调用updateAfterEvent()方法以确保图形的即时更新。 总结起来,"AS3经典范例之随机三点拖动"是一个综合性的项目,它涵盖了AS3的基本语法、图形绘制、事件处理、...

    ActionScript3.0代码示例项目

    4. **updateAfterEvent()**:在进行3D变换后,需要调用此方法来确保屏幕上的显示对象立即更新其视觉状态,反映最新的变换效果。 5. **时间轴控制**:为了实现动画效果,通常会使用enterFrame事件或 Tween 类来控制...

    明暗窗口效果 

    - 可能使用的函数包括`addEventListener`来监听窗口状态的变化,以及`updateAfterEvent`或` ENTER_FRAME`事件来更新窗口的视觉效果。 4. **用户界面设计原则**: - **一致性**:明暗效果应遵循用户已熟悉的系统或...

    flash动作指令

    - `updateAfterEvent(clipEvent)`:在事件处理完毕后立即刷新显示,确保事件处理结果即时可见。 - `loadMovie(url, mc, [mode])` 和 `loadMovieNum(url, level_num, [mode])`:加载外部SWF文件到指定的影片片段或...

    flash动画 遮罩效果代码

    最后,`updateAfterEvent();` 被调用,以确保所有动画更新都在下一帧之前完成,保证动画的流畅性。 综上所述,通过上述代码的细致解析,我们不仅了解了Flash动画中遮罩效果的实现原理,还深入掌握了动态遮罩效果的...

    豪华首页调用Flash自动变换效果(附源代码)

    updateAfterEvent(); }; FMA.alphaTo = function (clip, alpha_target, speed, interval) { var _loc1 = clip; FMA.removeInterval(_loc1.alphaInterval); _loc1.movieColor = new Color(_loc1); _loc1....

    学金动画代码

    updateAfterEvent(); for (var i = 0; i ; i++) { var mc = path["xue" + i]; mc._rotation += mc.ro * 5; mc._x += mc.id * mc.ro / 10; mc._y += mc.id / 2; mc.startTime++; scanTar(mc); scanEdge(mc, ...

    FLASH制作雪花的源代码

    updateAfterEvent(); // 更新事件队列 for (var i = 0; i ; i++) { var mc = path["xue" + i]; mc._rotation += mc.ro * 5; // 更新旋转角度 mc._x += mc.id * mc.ro / 10; // 更新X坐标 mc._y += mc.id / 2; ...

    电子地图测距源码

    updateAfterEvent();// 更新事件 } mouseListener.onMouseUp=function(){// 鼠标释放事件 line_width=_xmouse-this.orig_x;// 线段宽度 line_height=_ymouse-this.orig_y;// 线段高度 this.isDrawing=false;//...

Global site tag (gtag.js) - Google Analytics