一般情况下没有API调用可以强制flash player进行渲染,除非,在mouse/keyboard/timer event里面调用event.updateAfterEvent(),会强制flash player在event处理结束后做一次render.
FLASH: (狂点击FLASH会触发updateAfterEvent的调用,强制刷新flash舞台)
测试代码:
package {
?
import flash.display.*;
import flash.events.*;
import flash.utils.*;
?
public class marshal3 extends MovieClip {
var a:Timer = new Timer(20,0);
public function marshal3() {
this.addEventListenerEvent.ENTER_FRAME,enter_frame);
?
stage.MouseEvent.CLICK,onClick);
a.TimerEvent.TIMER,onTickstart);
}
?
private function enter_frame(e:*){
trace("enter_frame," + getTimer}
?
public function onClick"onClick,0)">);
e.updateAfterEvent}
public function onTick"onTick" + );
mc1.x += 2;
if (mc1.x > 300{
mc1.x = 2;
}
}
}
fps=1 输出:
enter_frame,2008 onTick2008 onTick2109 onTick2209 onTick2309 onTick2409 onTick2508 onTick2609 onTick2709 onTick2809 onTick2909 enter_frame,3008 onTick3008 onTick3109 onTick3209 onClick,3210 onTick3309 onClick,3385 onTick3409 onTick3508 onClick,3570 onTick3609 onTick3709 onClick,3729 onTick3809 onClick,3898 onTick3909 enter_frame,4008 onTick4008 onClick,4066
结论:
event.updateAfterEvent(),会强制flash player在event处理结束后做一次render. 但是,并不会提早结束当前帧。FPS继续保持。
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|