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

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

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

Регистрация: Jul 2005
Сообщений: 283
По умолчанию Кто вызвал функцию?

В кадре есть, например, три кнопки, по нажатию на какую-либо из них, выводится (trace)
переменная, которая находится внутри неё. (Button.perem)
Но как отследить какая кнопочка была нажата?

З.Ы.
Конечно можно и так:
Код:
_root.but1.onRelease=function(){
	trace(but1.perem)
}
_root.but2.onRelease=function(){
	trace(but2.perem)
}
_root.but3.onRelease=function(){
	trace(but3.perem)
}
Так не интересно, и ещё если я захочу произвольное кол-во кнопок?
Тут циклом, это тоже знаю как сделать, но ведь, интересно, возможен-ли первый вариант?

Если что-то не понятно, вот:
Вложения
Тип файла: rar FlashFRD.rar (4.5 Кб, 5 просмотров)

Старый 09.01.2006, 15:17
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 2  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
trace(this.perem)

Старый 09.01.2006, 16:38
Antares вне форума Посмотреть профиль Найти все сообщения от Antares
  № 3  
Ответить с цитированием
Antares
Banned
[+1 16.05.2006]
[++1 16.05.2006]
[+ 1 21.05.06]
[++ за хамство]
[+1 21.05.2006]
 
Аватар для Antares

Регистрация: Dec 2003
Сообщений: 3,925
Пользоваться mx.core.EventDispatcher

Старый 09.01.2006, 16:55
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 4  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
>>Пользоваться mx.core.EventDispatcher
не очень ясно зачем, если кнопки уже подписаны на onRelease: кто вызвал? - this и вызвал, чего еще..

Старый 09.01.2006, 17:27
Fr@ddy вне форума Посмотреть профиль Отправить личное сообщение для Fr@ddy Найти все сообщения от Fr@ddy
  № 5  
Ответить с цитированием
Fr@ddy
 
Аватар для Fr@ddy

Регистрация: Jul 2005
Сообщений: 283
Цитата:
Сообщение от silin
trace(this.perem)
Так тоже пробовал. Не катит. "undefined"

Старый 09.01.2006, 17:52
Fr@ddy вне форума Посмотреть профиль Отправить личное сообщение для Fr@ddy Найти все сообщения от Fr@ddy
  № 6  
Ответить с цитированием
Fr@ddy
 
Аватар для Fr@ddy

Регистрация: Jul 2005
Сообщений: 283
Маленько не так сказал:
Так будет работать, если привязать к кнопке.
А мне надо к функции.

Старый 09.01.2006, 18:05
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 7  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
к функции так к функции
Код:
but1.perem="FraDDy1";
but2.perem="FraDDy2";
but3.perem="FraDDy3";
but3.onRelease=but2.onRelease=but1.onRelease=WhatIsName;
function WhatIsName() {
	trace(this.perem)
}
Вложения
Тип файла: zip FlashFRD_.zip (4.7 Кб, 45 просмотров)

Старый 09.01.2006, 18:44
Fr@ddy вне форума Посмотреть профиль Отправить личное сообщение для Fr@ddy Найти все сообщения от Fr@ddy
  № 8  
Ответить с цитированием
Fr@ddy
 
Аватар для Fr@ddy

Регистрация: Jul 2005
Сообщений: 283
Э... это самое..... да, вот.... спасибо )) , но не пояснишь что это такое?
Код:
but3.onRelease=but2.onRelease=but1.onRelease=WhatIsName;
Особая форма записи функции? Первый раз такое вижу.


Цитата:
Сообщение от Antares
Пользоваться mx.core.EventDispatcher
Попыталься в хелпе найти эту команду, и ничё не нашел. Флеш 8.
А раз не нашел, то не знаю как её правильно использовать.
Как полагаю, то так:
trace(mx.core.EventDispatcher(this.perem));
но раз не работает, то значит не правильно.

Дай, пожайлуста, ссылочку откуда откопал эту команду, поразбираюсь, вдруг пригодиться.

Старый 09.01.2006, 19:05
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 9  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
>>Особая форма записи функции? Первый раз такое вижу.
да обычная: обрабочикам onRelease кнопок присваиваем ссылку на функцию..

Старый 09.01.2006, 19:06
Double вне форума Посмотреть профиль Отправить личное сообщение для Double Найти все сообщения от Double
  № 10  
Ответить с цитированием
Double
 
Аватар для Double

Регистрация: Mar 2001
Сообщений: 1,147
silin просто сделал функцию, реализующую тот же самый this.perem и навесил её на onRelease твоих кнопок.

не знаю, я традиционно (наверное) не люблю так делать. к чему лишний код? пишу код в мувике кнопки (то, что silin в первом посте написал), а её инстансы получают его дефолтом. да, в моём варианте код раскидан ещё и по тайм-лайнам мувиков. но если не работаешь в супер большой команде с супер текучкой кадров (в смысле HR), то и пох, если честно! silin вот, кстати, как я посмотрю, лишний код вообще не воспринимает. я-то по паскалевски старомоден и код структурирую. ну вот не могу я читать одной строкой
Код:
if (something) {трам; пам; пам;}
мне, блин, всё надо с отступами в зависимости от степени вложенности по строчкам разнести. глупо, конечно. да и флейм
__________________
Кто говорит, тот не знает. Кто знает, тот не говорит.

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

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

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


 


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


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