Показать сообщение отдельно
Старый 12.11.2011, 15:31
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 2  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,600
Записей в блоге: 17
Это один из классов, который был написан мной очень давно, но используется без внесения каких-либо правок.
Код AS3:
package artshlagin.utils
{
	/**
	 * ...
	 * @author Artem Shlagin
	 */
	public class Tracer {
		public static var traceFunction:Function = trace;
		public static var nameDelimiter:String = " => ";
		public function Tracer() {
			throw new Error("Class is static");
		}
 
		public static function fullTraceObject(object:Object):void {
			recoursiveTrace(object);
		}
 
		private static function recoursiveTrace(o:Object, startValue:int = 0):void {
			for (var name:Object in o) {
				var otst:String = "";
				if (startValue > 0) {
					var i:int = startValue;
					while (i--) otst += "     ";
				}
				traceFunction.call(null, otst + name + nameDelimiter + o[name]);
				if ((typeof o[name]) === "object") recoursiveTrace(o[name], startValue+1);
			}
 
		}
 
 
	}
}
Использовать:
Код AS3:
Tracer.fullTraceObject(stage.loaderInfo.parameters);
Можно менять поток вывода и стрелочку между ключом и значением )
Код AS3:
Tracer.traceFunction = _someTextField.appendText;
Tracer.nameDelimiter = "<->";


Последний раз редактировалось Psycho Tiger; 12.11.2011 в 15:33.