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

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

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

Регистрация: 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. К Админу. В тегах кода шрифт по моему мелковат, цветной вообще читается труднее, может хотя бы крупнее сделать?

Старый 10.09.2010, 13:46
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 2  
Ответить с цитированием
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
Рекомендую фаерфокс+flash bug plugin - можно смотреть трейсы "в поле".
А вообще глючность вышеуказанной связки (и слабая дрессировка тестеров) привела к тому, сделал подобный костыль - по ктрл+шифт+д поле с последними трейсами для копипаста на передний план выскакивает и убирается). Консоль разработчика - известный приём в общем-то.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.

Старый 10.09.2010, 14:21
Rzer вне форума Посмотреть профиль Отправить личное сообщение для Rzer Посетить домашнюю страницу Rzer Найти все сообщения от Rzer
  № 3  
Ответить с цитированием
Rzer
 
Аватар для Rzer

блогер
Регистрация: Feb 2007
Адрес: Spb
Сообщений: 612
Записей в блоге: 8
Отправить сообщение для Rzer с помощью ICQ
Поставить дебаг плеер для браузера и смотреть трейсы в Vizzy Tracer?

Старый 10.09.2010, 15:27
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 4  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
А можно еще определить функцию уровня пакета, назвать ее log и вызывать когда потребуется. Если определить в безымянном пакете (пакете верхнего уровня) - то, по идее, вызывать можно из любого места без импортов и обращений к статическим функциям
__________________
...вселенская грусть

Старый 10.09.2010, 17:52
Хомяк вне форума Посмотреть профиль Отправить личное сообщение для Хомяк Найти все сообщения от Хомяк
  № 5  
Ответить с цитированием
Хомяк
[+1 24.11.10]
 
Аватар для Хомяк

Регистрация: Jun 2010
Сообщений: 280
Цитата:
Сообщение от Rzer Посмотреть сообщение
Поставить дебаг плеер для браузера и смотреть трейсы в Vizzy Tracer?
Что то не получается у меня Vizzy раскачать. Он вообще поддерживается сейчас?

Старый 10.09.2010, 18:36
Rzer вне форума Посмотреть профиль Отправить личное сообщение для Rzer Посетить домашнюю страницу Rzer Найти все сообщения от Rzer
  № 6  
Ответить с цитированием
Rzer
 
Аватар для Rzer

блогер
Регистрация: Feb 2007
Адрес: Spb
Сообщений: 612
Записей в блоге: 8
Отправить сообщение для Rzer с помощью ICQ
Vizzy Tracer скачивается отсюда: http://code.google.com/p/flash-trace...1.zip&can=2&q=

Дебажный flash player (Download the Windows Flash Player 10.1 Plugin content debugger (for Netscape-compatible browsers)) отсюда: http://www.adobe.com/support/flashplayer/downloads.html

Старый 10.09.2010, 20:19
Хомяк вне форума Посмотреть профиль Отправить личное сообщение для Хомяк Найти все сообщения от Хомяк
  № 7  
Ответить с цитированием
Хомяк
[+1 24.11.10]
 
Аватар для Хомяк

Регистрация: Jun 2010
Сообщений: 280
Да, да. Все скачал, установилось вроде ровно. Help прочел (на страничке автора) и ком. строки тоже пытался вызвать, а все равно - пустое окно. Почему то не идут трэйсы. Поэтому и спрашиваю. Может уже не поддерживается? Вышел же новый релиз FF...На софтпедии указано, что тестировалось последний раз летом прошлого года.

Старый 10.09.2010, 20:27
Rzer вне форума Посмотреть профиль Отправить личное сообщение для Rzer Посетить домашнюю страницу Rzer Найти все сообщения от Rzer
  № 8  
Ответить с цитированием
Rzer
 
Аватар для Rzer

блогер
Регистрация: Feb 2007
Адрес: Spb
Сообщений: 612
Записей в блоге: 8
Отправить сообщение для Rzer с помощью ICQ
Могу только посочувствовать, помочь нет. У меня работает и проблем с установкой не возникало. В чём причина сказать не могу.

Старый 10.09.2010, 20:29
i.o. вне форума Посмотреть профиль Отправить личное сообщение для i.o. Найти все сообщения от i.o.
  № 9  
Ответить с цитированием
i.o.
 
Аватар для i.o.

Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
У вас точно плеер дебажный поставлен?

Старый 10.09.2010, 21:01
Хомяк вне форума Посмотреть профиль Отправить личное сообщение для Хомяк Найти все сообщения от Хомяк
  № 10  
Ответить с цитированием
Хомяк
[+1 24.11.10]
 
Аватар для Хомяк

Регистрация: Jun 2010
Сообщений: 280
да, отладчик. файл в ДокументСеттингс/Юзер организовался - как положено, содержание соответствует. Но в окно Vizzy трейсы не идут.

Добавлено через 49 секунд
Может Каспер блокирует? Есть у него такая манера - блокировать в тихоря.

Добавлено через 13 минут
Цитата:
Сообщение от gloomyBrain Посмотреть сообщение
А можно еще определить функцию уровня пакета, назвать ее log и вызывать когда потребуется....
А есть пример реализации? Покрутил так-сяк, просто и грамотно не получается лишние прикрутки в основном классе все равно надо делать, а тогда все преимущество "внешнего модуля" теряется. Можно сделать класс (таких примеров много), но и тогда его надо объявлять и т.д. и т.п.

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

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

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


 


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


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