Показать сообщение отдельно
Старый 05.02.2007, 23:05
lowka вне форума Посмотреть профиль Отправить личное сообщение для lowka Найти все сообщения от lowka
  № 11  
Ответить с цитированием
lowka

Регистрация: Sep 2006
Сообщений: 256
Я бы сделал так (доработано):
Код:
class Output {	
	private static var container:MovieClip;
	private static var textField:TextField;
	
	// минимальная ширина окна.
	private static var MIN_WIDTH:Number = 100;
	// минимальная высота окна.
	private static var MIN_HEIGHT:Number = 100;
	
	/**
	* Создание окна.
	* @param	target	контейнер в котором будет создано окно.
	* @param	depth   глубина.
	* @param	width   ширина окна.
	* @param	height  высота окна.
	*/
	public static function create(target:MovieClip, depth:Number, width:Number, height:Number):Void {
		if(!MovieClip(target) || Output.container.getDepth()){//доработано.
			return;
		}
		Output.container = target.createEmptyMovieClip("__output", !isNaN(depth)? depth: 0);
		
		width = !isNaN(width) && width > Output.MIN_WIDTH ? width: Output.MIN_WIDTH;
		height = !isNaN(height) && height > Output.MIN_HEIGHT ? height: Output.MIN_HEIGHT;
		
		Output.textField = Output.container.createTextField("__text", 0, 0, 0, width, height);
		Output.textField.background = true;
		Output.textField.border = true;
		Output.textField.selectable = false;
		Output.textField.multiline = true; //добавлено.
		
		Output.hide();
	}
	
	/**
	* Вывод сообщения. 
	* @param	message сообщение.
	*/
	public static function showMessage(message:String):Void {
		if(!Output.container){
			return;
		}
		Output.toCenter();
		
		Output.container._visible = true;
		Output.textField.text = message;
	}
	
	/**
	* Скрытие окна.
	*/
	public static function hide():Void {
		if(!Output.container){
			return;
		}
		Output.container._visible = false;
	}
	
	/**
	* Перемещение окна в центр экрана.
	*/
	private static function toCenter():Void {
		var point:Object = {x: (Stage.width - Output.container._width)/2,
							y: (Stage.height - Output.container._height)/2};
		
		Output.container.globalToLocal(point);
		Output.container._x = point.x;
		Output.container._y = point.y;
	
	}
}
Создаем окно:
Код:
import Output;

var outputDepth:Number = 1000;
var outputWidth:Number = 300;
var outputHeight:Number = 200;

Output.create(this, outputDepth, outputWidth, outputHeight);
Вызываем:
Код:
Output.showMessage("Hello!");


Последний раз редактировалось lowka; 06.02.2007 в 01:14.