【发布时间】:2011-02-24 06:35:19
【问题描述】:
在我的组件中,我正在绘制一些矩形,如下所示:
var objGraphics:Graphics=graphics;
objGraphics.drawRect(start, end, total, 5);
objGraphics.endFill();
当鼠标光标悬停在每个矩形上时,我需要为每个矩形显示一个自定义工具提示。
我该怎么做?我正在使用 MouseMove 事件来跟踪光标何时移动到这些坐标上(该部分正在工作),但是当我更改工具提示文本时它不会刷新。
private function this_MOUSE_MOVE(event:MouseEvent):void
{
//...some code to check the coordinates to find out which rectangle the cursor
//is over
//current tooltip is "Rectangle A";
ToolTipManager.destroyToolTip(_myToolTip);
var localPoint:Point=new Point(event.localX, event.localY);
var globalPoint:Point=new Point(localToGlobal(localPoint).x,
localToGlobal(localPoint).y);
//cursor is over Rectangle B, so changing the tooltip;
_myToolTip=ToolTipManager.createToolTip("Rectangle B",
globalPoint.x, globalPoint.y) as ToolTip;
callLater(addChild, [_myToolTip]);
}
感谢您的帮助。
编辑:问题似乎出在以下行:
ToolTipManager.destroyToolTip(_myToolTip);
如果我注释掉前一行,它会显示新的工具提示,但它会继续创建新的,旧的永远不会被删除。但是,如果我添加该行,它不会添加任何工具提示!代码是否没有按顺序执行,即删除工具提示的代码是否在添加工具提示的代码之后以某种方式执行?
【问题讨论】: