我今天要解决的问题与大多数问题不同。我想让应用程序更快地执行处理程序,这样我就不会在 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;
}
}
}