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

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

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

Регистрация: Jan 2013
Сообщений: 550
Записей в блоге: 1
По умолчанию Переопределение метода trace()?

Столкнулся с проблемой отладки приложения на FB. Простую дебаг - сессию, как я понял, c приложением на FB создать не получится - дебаггер FlashDevelop подключается только к голой странице - обертке.
Соответственно, для отслеживания пришлось написать свой метод, вызывающий javascript функцию console.log - аналог trace.

Возник такой вопрос - нельзя ли как то переопределить метод trace() или написать ему замену с компактным названием?
Сейчас этот метод приходится вызывать статически:
Код AS3:
ExternalFunctions.debug("debug value")
Но так придется в каждый класс делать import, не очень удобно

Старый 14.06.2013, 09:42
СлаваRa вне форума Посмотреть профиль Отправить личное сообщение для СлаваRa Найти все сообщения от СлаваRa
  № 2  
Ответить с цитированием
СлаваRa
 
Аватар для СлаваRa

блогер
Регистрация: Feb 2008
Адрес: http://playtika.com
Сообщений: 1,119
Записей в блоге: 5
Отправить сообщение для СлаваRa с помощью ICQ Отправить сообщение для СлаваRa с помощью Skype™
напишите метод log, в котором будет нужный вам функционал и после стандартный trace, делов-то
__________________
местонахождение

Старый 14.06.2013, 09:48
KumoKairo вне форума Посмотреть профиль Отправить личное сообщение для KumoKairo Найти все сообщения от KumoKairo
  № 3  
Ответить с цитированием
KumoKairo
 
Аватар для KumoKairo

Регистрация: Jan 2013
Сообщений: 550
Записей в блоге: 1
В таком случае как обеспечить видимость метода во всех классах без обращения к имени класса, в котором определен этот метод?
Чтобы писать, например, просто
Код AS3:
log();
а не
Код AS3:
LogContainingClass.log();
?

Старый 14.06.2013, 09:51
maincode вне форума Посмотреть профиль Отправить личное сообщение для maincode Посетить домашнюю страницу maincode Найти все сообщения от maincode
  № 4  
Ответить с цитированием
maincode

Регистрация: Feb 2010
Адрес: Город суеты
Сообщений: 191
Создайте файл log.as с содержимым:
Код AS3:
package
{
	public function log(...args):void
	{
		LogContainingClass.log(args);
	}
}
И вызывайте метод log(); с любым количеством параметров.
__________________
FlashPress.ru | Blog

Старый 14.06.2013, 09:54
KumoKairo вне форума Посмотреть профиль Отправить личное сообщение для KumoKairo Найти все сообщения от KumoKairo
  № 5  
Ответить с цитированием
KumoKairo
 
Аватар для KumoKairo

Регистрация: Jan 2013
Сообщений: 550
Записей в блоге: 1
Спасибо)

Старый 18.06.2013, 11:12
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 6  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от maincode Посмотреть сообщение
Создайте файл log.as с содержимым:
Код AS3:
package
{
	public function log(...args):void
	{
		LogContainingClass.log(args);
	}
}
И вызывайте метод log(); с любым количеством параметров.
Только уж тогда LogContainingClass.log.apply(LogContainingClass, args);

Старый 18.06.2013, 23:48
KumoKairo вне форума Посмотреть профиль Отправить личное сообщение для KumoKairo Найти все сообщения от KumoKairo
  № 7  
Ответить с цитированием
KumoKairo
 
Аватар для KumoKairo

Регистрация: Jan 2013
Сообщений: 550
Записей в блоге: 1
Да все разобрался уж, мне не надо много аргов, вполне хватает одной строки

Там просто вызвать функцию через ExternalInterface (И да, я знаю, что можно создавать полноценную дебаг сессию в браузере)

Спасибо в любом случае

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

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

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


 


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


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