
Код:
import mx.utils.Delegate;
class Tooltip {
private var target:MovieClip;
private var txt:TextField;
public function Tooltip(){
target = _root;
//лучше юзать _root, т.к. работаем с глобальными координатами мыши (имхо)
}
public function setTooltip(str:String){
if(str != undefined){
txt = target.createTextField("tooltip",
0,
target._xmouse,
target._ymouse + 20,
0,
0
);
txt.autoSize = true;
txt.background = true;
txt.border = true;
txt.embedFonts = false;
txt.backgroundColor = 0xFFE6B0;
txt.borderColor = 0xFFD277;
txt.selectable = false;
txt.text = str;
toolTipMotion();
target.onMouseMove = Delegate.create(this, toolTipMotion);
}else{
txt.removeTextField();
delete target.onMouseMove;
}
}
private function toolTipMotion(){
txt._x = target._xmouse;
txt._y = target._ymouse + 20;
if(txt._x + txt._width > Stage.width){
txt._x = Stage.width - txt._width - 10;
}else
if(txt._x <= 10){
txt._x = 10;
}
updateAfterEvent();
}
}
P.S. числа 10 и 20 (отсупы) грамотней будет заменить на статические переменные...ну это так..шлифовка =)