actionscript-3 - 在事件之后,是否有在ActionScript中强制立即更新舞台_not_的方法?

  显示原文与译文双语对照的内容
0 0

我知道方法 MouseEvent.updateAfterEvent() 或者 KeyboardEvent.updateAfterEvent(),它将强制在事件处理后重新绘制舞台,而不是等待下一个帧。

然而,我需要一种方法,在我调用它的时候立即强制渲染。 有这种方法?

实际上我的问题来自 demential API ( 打印) 打印的设计。 不符合整个ActionScript架构,当你调用 PrintJob.start(), 时所有内容都完全冻结,打印对话框显示,直到用户单击打印或者取消按钮。 在 PrintJob.start() 调用之后执行的任何代码都会在。

在这个巨大的设计缺陷中还有许多更糟糕的问题,那是我的:


public function someMouseOrKeyboardEventHandler() {
 somethingThatUpdatesTheDisplayList();
 var somePrintJob=new PrintJob();
 somePrintJob.start();
//...
 somePrintJob.send();
}

调用这里处理程序时,在打印对话框关闭之前,对显示列表所做的更改不可以见。

updateAfterEvent() 对( 已经尝试过了) 一点帮助也没有。 因为它只在执行事件处理程序代码之后强制呈现,所以它不会改变一个东西。

有没有 updateRightNow ( ) -like的东西?

时间: 原作者:

0 0

不,你不能在代码中间强制更新。

然而,你可以等到下一帧调用上的start() ;这将使 Flash 时间在所有的冻结之前更新舞台。

原作者:
...