0

我今天要解决的问题与大多数问题不同。我想让应用程序更快地执行处理程序,这样我就不会在 UI 中看到任何延迟。

我有一个包含 aTextInput和生成的虚线的类,由一系列线组成。这个组件,我们称之为它CardTextInput,监听父状态的变化。如果鼠标在该区域上,则显示虚线,否则隐藏。

如果只有一个 的实例,一切都会很好CardTextInput,如果我添加 10,当我将鼠标悬停时,与只有一个并且立即显示的情况相比,显示虚线需要 0.5 秒。

我该如何优化这样的场景?

4

1 回答 1

2

假设您在父 myCanvas 中添加 10 个 CardTextInput。

尝试将 CardTextInput'mouseEnabled 和 mouseChildren 设置为 false

然后在 myCanvas 上添加 MouseMove 事件监听器

myCanvas.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);

for each (var child:DisplayObject in myCanvas) {
     child.dashLines.mouseEnabled = false;
     child.dashLines.mouseChildren = false;
}  

protected function onMouseMove(event:MouseEvent):void {

    for each (var child:DisplayObject in myCanvas) {
        child.dashLines.visible = false;
    }  

    for each (child in myCanvas) {

         if (child.hitTestPoint(event.stageX, event.stageY)) {
             child.dashLines,visible = true;
             break;
         }
    }
}
于 2013-09-27T16:49:24.727 回答