Цитата:
|
Сообщение от Takato
Нарисовать подсказку во втором кадре кнопки
|
Извращение какое.

Код:
class TipManager extends MovieClip
{
private var _delay:Number = 500;
private var _inter:Number = 0;
private var _mes:String;
private var _tip;
private static var _allTips:Array = new Array();
private function TipManager(mes:String)
{
_mes = mes;
/*_root["onMouseMove"] = function()
{
trace(_root._xmouse);
}
*/
}
public static function Add(target, mes:String):Void
{
//trace(this);
var manager:TipManager = new TipManager(mes);
target["_tipmanager"] = manager;
target["onRollOver"] = target["_tipmanager"].Create;
target["onRollOut"] = target["_tipmanager"].Clear;
_allTips.push(target);
}
private function Clear():Void
{
clearInterval(this["_tipmanager"]._inter);
this["_tipmanager"]._tip.removeTextField();
}
private function Create():Void
{
this["_tipmanager"]._inter = setInterval(this["_tipmanager"], "Show", this["_tipmanager"]._delay);
}
private function Show():Void
{
_tip = _root.createTextField("tip", _root.getNextHighestDepth(), _root._xmouse + 3, _root._ymouse - 3, 100, 30);
_tip.autoSize = true;
_tip.background = true;
_tip.backgroundColor = 0xFFFFDD;
_tip.border = true;
_tip.text = _mes;
_tip.selectable = false;
var format:TextFormat = new TextFormat();
format.size = 12;
format.font = "Verdana";
format.align = "center";
format.leftMargin = format.rightMargin = 5;
_tip.setTextFormat(format);
var w:Number = _tip._width;
var h:Number = _tip._height;
if((_tip._x + w) > Stage.width)
_tip._x = Stage.width - w - 10;
if((_tip._y + h) > Stage.height)
_tip._y = Stage.height - h - 10;
clearInterval(this._inter);
}
}
Класс до конца не опробован, возможны баги...