Показать сообщение отдельно
Старый 11.04.2006, 02:08
Homo Sapiens вне форума Посмотреть профиль Отправить личное сообщение для Homo Sapiens Посетить домашнюю страницу Homo Sapiens Найти все сообщения от Homo Sapiens
  № 9  
Ответить с цитированием
Homo Sapiens
 
Аватар для Homo Sapiens

Регистрация: Nov 2004
Адрес: Санкт-Петербург
Сообщений: 751
Цитата:
Сообщение от 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);
	}
}
Класс до конца не опробован, возможны баги...
__________________
Всё гениальное просто.