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

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

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

Регистрация: Mar 2012
Сообщений: 18
По умолчанию Обращение к кнопке, находящейся внутри мувиклипа

Доброго времени суток, уважаемые форумчане.
Простите за банальность вопроса, знаю, что учиться нужно начинать с основ, но время немного поджимает, поэтому спрашиваю здесь.
Суть вот в чём, делаю интерактивную карту области, уже сделал анимацию всех районов при наведении мыши.
(нижний ролик)Теперь нужно написать обработку нажатий на районы.
Нашел в сети вот такой отрывок кода
Код AS1/AS2:
import mx.transitions.Tween;
import mx.transitions.easing.*;
var cities:Array = ["Prim", "Berd"]
 
function mover (targetX, targetY){
currentX = marker_mc._x;
currentY = marker_mc._y;
var xTween:Tween = new Tween(marker_mc, "_x", Strong.easeOut, currentX, targetX, .5, true);
var yTween:Tween = new Tween(marker_mc, "_y", Back.easeOut, currentY, targetY, 1.5, true); 
}
 
for (var i = 0; i<cities.length; i++){ 
var my_btn = this[cities[i]+"_btn"];
my_btn.myCity = cities[i];
my_btn.onRelease = function() {
mover( this._x, this._y); 
marker_mc.gotoAndStop(this.myCity);
}
}
Но он для ситуации, когда кнопки находятся на слое в самом монтажном кадре
В моём же случае кнопки находятся в мувиклипах (к примеру, кнопка Berd_btn находится в мувиклипе Berd_dist и так со всеми, имена кнопок и мувиклипов сходны)
Пробовал строку
Код AS1/AS2:
var my_btn = this[cities[i]+"_btn"];
заменять на
Код AS1/AS2:
var my_btn = this[cities[i]+"_dist."+cities[i]+"_btn"];
Не помогло...

Ткните пожалуйста, как ситуацию исправить, что делать...
Не очень хочется в каждый мувиклип добавлять по маркеру и внутри обрабатывать... Массивом было бы рациональнее...
Т.е. вопрос заключается в том, как обратиться к кнопке внутри мувиклипа из кода монтажного кадра?

Заранее благодарю за помощь

Старый 15.03.2012, 17:36
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 2  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
При формировании ссылки на кнопку верный синтаксис для пути должен быть таким:
Код AS1/AS2:
var my_btn =  this[cities[i] + '_dist'][cities[i] + '_btn'];
__________________
Идите первым!


Последний раз редактировалось mooncar; 15.03.2012 в 17:46.
Старый 15.03.2012, 17:56
Ar_man115 вне форума Посмотреть профиль Отправить личное сообщение для Ar_man115 Найти все сообщения от Ar_man115
  № 3  
Ответить с цитированием
Ar_man115

Регистрация: Mar 2012
Сообщений: 18
Изменил... Не помогло(

Старый 15.03.2012, 18:00
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 4  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Код AS1/AS2:
var my_btn =  this[cities[i] + '_dist'][cities[i] + '_btn'];
trace(my_btn); //undefined или видит путь правильно?
__________________
Идите первым!

Старый 15.03.2012, 18:01
Ar_man115 вне форума Посмотреть профиль Отправить личное сообщение для Ar_man115 Найти все сообщения от Ar_man115
  № 5  
Ответить с цитированием
Ar_man115

Регистрация: Mar 2012
Сообщений: 18
Тут видимо дело совсем не в этом... Т.к. маркер не двигается и не переходит на нужный кадр

Добавлено через 2 минуты
Вывод
Prim_dist.Prim_btn
Berd_dist.Berd_btn

Добавлено через 3 минуты
Т.е как по мне, так верно, но при этом маркер стоит на месте и не изменяется (хотя в изначальном варианте он переходил на нужный кадр и перемещался)

Старый 15.03.2012, 18:06
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 6  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Цитата:
Сообщение от Ar_man115 Посмотреть сообщение
вопрос заключается в том, как обратиться к кнопке внутри мувиклипа из кода монтажного кадра?
Ответ даден, ошибку с путем исправили, раз трейсит теперь нормально.
Что-то там дальше, смотрите в обработчике my_btn.onRelease, this там ссылается на my_btn, если что.
__________________
Идите первым!


Последний раз редактировалось mooncar; 15.03.2012 в 18:09.
Старый 15.03.2012, 18:07
Ar_man115 вне форума Посмотреть профиль Отправить личное сообщение для Ar_man115 Найти все сообщения от Ar_man115
  № 7  
Ответить с цитированием
Ar_man115

Регистрация: Mar 2012
Сообщений: 18
Попробовал ввести trace(myCity);
Оно выдаёт undefined

Добавлено через 1 минуту
прошу прощения, если trace(my_btn.myCity);
то выдаёт Prim, Berd

Старый 15.03.2012, 18:11
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 8  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Ну да, все верно, это же ссылка на имена - элементы массива cities:
Код AS1/AS2:
my_btn.myCity = cities[i];
__________________
Идите первым!


Последний раз редактировалось mooncar; 15.03.2012 в 18:16.
Старый 15.03.2012, 18:18
Ar_man115 вне форума Посмотреть профиль Отправить личное сообщение для Ar_man115 Найти все сообщения от Ar_man115
  № 9  
Ответить с цитированием
Ar_man115

Регистрация: Mar 2012
Сообщений: 18
Ничего не могу понять((( В мувиклипе marker_mc есть кадры Prim и Berd,
Код AS1/AS2:
trace(my_btn.myCity);
выдаёт Prim, Berd
Почему не работает
Код AS1/AS2:
marker_mc.gotoAndStop(this.myCity);
понять не могу(((

Старый 15.03.2012, 18:26
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 10  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Код AS1/AS2:
var my_btn =  this[cities[i] + '_dist'][cities[i] + '_btn'];
my_btn.myCity = cities[i];
my_btn.onRelease = function() {
   trace(this.myCity) //выводит  Prim и Berd, так?
   trace(marker_mc); //не undefined , виден?
   marker_mc.gotoAndStop(this.myCity); //должен работать тогда
};
__________________
Идите первым!

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

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

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


 


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


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