我今天要解决的问题与大多数问题不同。我想让应用程序更快地执行处理程序,这样我就不会在 UI 中看到任何延迟。
我有一个包含 aTextInput和生成的虚线的类,由一系列线组成。这个组件,我们称之为它CardTextInput,监听父状态的变化。如果鼠标在该区域上,则显示虚线,否则隐藏。
如果只有一个 的实例,一切都会很好CardTextInput,如果我添加 10,当我将鼠标悬停时,与只有一个并且立即显示的情况相比,显示虚线需要 0.5 秒。
我该如何优化这样的场景?
我今天要解决的问题与大多数问题不同。我想让应用程序更快地执行处理程序,这样我就不会在 UI 中看到任何延迟。
我有一个包含 aTextInput和生成的虚线的类,由一系列线组成。这个组件,我们称之为它CardTextInput,监听父状态的变化。如果鼠标在该区域上,则显示虚线,否则隐藏。
如果只有一个 的实例,一切都会很好CardTextInput,如果我添加 10,当我将鼠标悬停时,与只有一个并且立即显示的情况相比,显示虚线需要 0.5 秒。
我该如何优化这样的场景?
假设您在父 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;
}
}
}