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

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

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

Регистрация: Nov 2000
Адрес: NY, USA
Сообщений: 183
Отправить сообщение для ader с помощью ICQ
По умолчанию отследить нажатие любой кнопки ?

В поиске не нашол (хотя видел где-то.. может плохо искал )
Работаю над проектом с кучей loadMovie, переменных, функций и кнопок. Всё динамическое, при исполнении одного, поялвяется или уберается другое.
Это всё не важно...

Так вот.
Столкнулся с одним траблом и вот эта фича о которой я спрашиваю, намного бы ускорила дебагинг в принципе
Собсно хотелось бы дабы trace сообщал, какая кнопка была нажата в любом мувике (или хотя-бы в главном) (её instance name) без описания каждой из кнопок. Это возможно?
Т.е. Есть ли что-то типа anyButton.onPress = function(){ trace (this._name); }; ?

Старый 22.08.2006, 02:12
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 2  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
можно например так
Код:
mx.events.EventDispatcher.initialize(MovieClip.prototype);
	
MovieClip.prototype.onPress = function ():Void
{
	this.dispatchEvent({type:"click",t:this});
	trace(this);
}

function onClick(eventObj:Object):Void
{
	trace("clicked");
}

mc.addEventListener("click",onClick);
есть один недостаток, в последсвии придется пользоватся не событием onPress а событием click, хотел сначала через AsBroadcaster но не сообразил как подписать самого себя на события.
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

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

Регистрация: Nov 2000
Адрес: NY, USA
Сообщений: 183
Отправить сообщение для ader с помощью ICQ
мне нужно какие-то параметры изменить?
Потому как as is твой код не работает

Старый 22.08.2006, 02:52
Nirth вне форума Посмотреть профиль Отправить личное сообщение для Nirth Посетить домашнюю страницу Nirth Найти все сообщения от Nirth
  № 4  
Ответить с цитированием
Nirth
4AM Games
 
Аватар для Nirth

блогер
Регистрация: Nov 2002
Адрес: Sofia
Сообщений: 6,264
Записей в блоге: 1
Отправить сообщение для Nirth с помощью ICQ Отправить сообщение для Nirth с помощью AIM Отправить сообщение для Nirth с помощью MSN Отправить сообщение для Nirth с помощью Yahoo Отправить сообщение для Nirth с помощью Skype™
настройки Flash Player 7.0, ActionScript 2.0
__________________
Я перестал переписывать, начал редактировать, еще лет 15 и я стану писателем ^_^

Старый 22.08.2006, 03:06
ader вне форума Посмотреть профиль Отправить личное сообщение для ader Посетить домашнюю страницу ader Найти все сообщения от ader
  № 5  
Ответить с цитированием
ader
 
Аватар для ader

Регистрация: Nov 2000
Адрес: NY, USA
Сообщений: 183
Отправить сообщение для ader с помощью ICQ
Ок. Создал кнопку, дал ему instance name "myMC".
На первом кадре поместил твой код.
насройки Flash Player 7.0, (8.0 тоже пробывал) AS 2.0
Нажимаю Реакции = "0". Очевидно однозначно я что-то не так делаю )

Простите - может я не так обьяснил... Скрипт должен обрабатывать нажатие, а trace выдавать instance name кнопки на которую нажали, и не важно на какую кнопку нажал пользователь потому как instance name кнопки является переменной которую должен трейсать trace.

К примеру есть вот такой код:

Код:
for (i in this) {
    if (this[i] instanceof Button) {
    trace(this[i]._name);
    }
}
Только он не реагирует на нажатие а выдаёт результат сразу при запуске мувика. Да и работает он только на current timeline`е. Мне же нужно проверить именно нажатие. Я с листнерами не дружил раньше - буду исправлятся.. помогите


Последний раз редактировалось iNils; 22.08.2006 в 11:55.
Старый 22.08.2006, 04:01
ader вне форума Посмотреть профиль Отправить личное сообщение для ader Посетить домашнюю страницу ader Найти все сообщения от ader
  № 6  
Ответить с цитированием
ader
 
Аватар для ader

Регистрация: Nov 2000
Адрес: NY, USA
Сообщений: 183
Отправить сообщение для ader с помощью ICQ
Спасибо - сам допёр

Код:
Button.prototype.onPress = function(){
	trace(this._name);
}


Последний раз редактировалось iNils; 22.08.2006 в 11:55.
Старый 22.08.2006, 11:56
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 7  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
ader, вам замечание за не использование тегов [code][/code]
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

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

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


 


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


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