Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 10.09.2010, 13:32
Хомяк вне форума Посмотреть профиль Отправить личное сообщение для Хомяк Найти все сообщения от Хомяк
  № 1  
Ответить с цитированием
Хомяк
 
Аватар для Хомяк

Регистрация: Jun 2010
Сообщений: 280
По умолчанию Дебаг функция вывода trace в окно приложения.

Возможно кому то покажется полезным... Столкнулся с проблемой отладки приложения. Дома, "на столе", все работает как надо. В разных режимах, в разных условиях. При размещении на сайте появляются кое какие глюки. Как же быть? Написал дебаг-функцию, которая выводит trace в окно приложения на отдельный слой. Может быть пригодится еще кому то.

Если в приложении написано trace(numChildren), например, то заменив это строкой
TextMessAdd(numChildren) вы соответственно получите это сообщение не в трейс а в окне приложения на отдельном слое. Кроме того, если альфу выставить в нуль, то пользователи не будут видеть эти сообщения (впрочем, как и вы), однако останется возможность скопировать текст из этого слоя и затем вставить, например, в блокнот, где, само собой, всё будет видно.

Код AS3:
 
/////////////////////////////////////////////////////////////////////////
//////
//////						ДЕБАГ ФУНКЦИЯ 
//////			             выводит trace в окно приложения
//////			             требует подключения следующих модулей:
//////			             import flash.text.TextField;
//////			             import flash.text.TextFormat;
//////			
//////                 а также одной переменной на уровне класса
//////			в которую будет помещен дебаг-текст
//////
//////			private var _debagField:TextField;
//////
//////
/////////////////////////////////////////////////////////////////////////
 
 
		private function TextMessAdd(some:String=""):void{
			//return;
			//если текстовой объект еще 
			//не создан обращаемся к 
			//функции создающей его...
			if(_debagsField==null){
				_debagsField=AddDebagField();
 
			}
 
			//если текстовой объект вывода ошибок еще 
			//не в окне приложения - выводим его, и
			//если произошло какое либо изменение
			//среды (например переход в полноэкранный режим)
			//вновь добавляем текстовой объект на экран
			if(getChildByName("_debagsField")==null){
				_debagsField.width=stage.stageWidth;
				_debagsField.height=stage.stageHeight/5;
				_debagsField.alpha=0.7;
				addChild(_debagsField);
 
 
			}
 
			_debagsField.appendText(_debagsField.numLines+". "+some+"\n");
			_debagsField.scrollV=_debagsField.numLines;
 
			function AddDebagField():TextField{
				var debagField:TextField=new TextField();
				debagField.wordWrap=true;
				//debagField.multiline=true;
				debagField.background=true;
				debagField.backgroundColor=0x333333;
 
				debagField.border=true;
				debagField.borderColor=0x111111;
				debagField.text="";
				debagField.defaultTextFormat=AddTextFormat();
				debagField.name="debagField";
 
				function AddTextFormat():TextFormat{
					var format:TextFormat=new TextFormat();
					format.color=0xffffff;
					format.size=18;
 
 
					return format;
 
				}
 
				return debagField;
			}
 
		}

Если у кого то есть более гибкие решения, или если есть желание покритиковать это - милости просим.

PS. К Админу. В тегах кода шрифт по моему мелковат, цветной вообще читается труднее, может хотя бы крупнее сделать?

Создать новую тему   Часовой пояс GMT +4, время: 00:30.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 00:30.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.