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

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

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

Регистрация: Jun 2013
Сообщений: 50
По умолчанию Получение информации из текстового поля определенного мувиклипа

Здравствуйте!

Имеется массив, содержащий id комнат, мувик, в который добавляется id комнаты и др информацию.
В этом мувике содержится кнопка download_btn. Добавляю с помощью цикла этот мувик столько раз, сколько там содержится id
(Да, гвнкод)
Код AS3:
var sb:search_box = new search_box();
				si.holder.addChild(sb);
				sb.x= mX+315;
				sb.y= mY;// mY+120;
				if(sb.x > 600)
				{
					sb.x = 65;
					sb.y +=120;
				}
 
				sb.id_txt.text = idRoom[i]
				mX = sb.x;
				mY = sb.y;
Затем на кнопку вешаю событие нажатия.. Но как мне получить содержание поля id_txt именно из того мувика, в котором нажата кнопка, а не из первого?

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

Регистрация: Jul 2013
Адрес: Днепр
Сообщений: 529
Отправить сообщение для alexandrratush с помощью ICQ Отправить сообщение для alexandrratush с помощью Skype™
В обработчике пишите, что типа такого:
Код AS3:
var target:MovieClip = e.currentTarget as MovieClip;
trace(target.id_txt.text);
Должно сработать.

Старый 09.06.2014, 14:02
slavnovik вне форума Посмотреть профиль Отправить личное сообщение для slavnovik Найти все сообщения от slavnovik
  № 3  
Ответить с цитированием
slavnovik

Регистрация: Jun 2013
Сообщений: 50
Цитата:
Сообщение от alexandrratush Посмотреть сообщение
В обработчике пишите, что типа такого:
Код AS3:
var target:MovieClip = e.currentTarget as MovieClip;
trace(target.id_txt.text);
Должно сработать.
Ни один мувик не нашел((

Старый 09.06.2014, 14:22
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 4  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Код AS3:
(download_btn/* as Кнопка*/).mouseChildren = false;
 
function onButtonClick_handler(event:Event):void {
    var target:Кнопка = e.target;
}
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

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

Регистрация: Jun 2013
Сообщений: 50
Цитата:
Сообщение от dimarik Посмотреть сообщение
Код AS3:
(download_btn/* as Кнопка*/).mouseChildren = false;
 
function onButtonClick_handler(event:Event):void {
    var target:Кнопка = e.target;
}
(sb.download_btn as Button).mouseChildren = false;
__
Код:
TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".

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

Регистрация: Jul 2013
Адрес: Днепр
Сообщений: 529
Отправить сообщение для alexandrratush с помощью ICQ Отправить сообщение для alexandrratush с помощью Skype™
Цитата:
Ни один мувик не нашел((
Не пойму вас.((

Старый 09.06.2014, 15:29
slavnovik вне форума Посмотреть профиль Отправить личное сообщение для slavnovik Найти все сообщения от slavnovik
  № 7  
Ответить с цитированием
slavnovik

Регистрация: Jun 2013
Сообщений: 50
Ну... вот более полный *****код:

Код AS3:
for (var i=0; i <= roomAr.length-1; i++)
			{
				var sb:search_box = new search_box();
 
			        si.holder.addChild(sb);
				sb.x = mX + 315;
				sb.y = mY;// mY+120;
				if (sb.x > 600)
				{
					sb.x = 65;
					sb.y +=  120;
				}
				sb.screen_mc.addChild(roomAr[i]);
				sb.id_txt.text = idRoom[i];
				mX = sb.x;
				mY = sb.y;
 
 
				sb.download_btn.addEventListener(MouseEvent.CLICK, download_room);
 
 
			}
		}
		function download_room(e:MouseEvent):void
		{
			var target:MovieClip = e.currentTarget as MovieClip;
			trace(target.id_txt.text);
			trace(target.name);
		}

Старый 09.06.2014, 15:43
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 8  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Не пойдет тут currentTarget, он будет показывать на this.
Отключите детей у download_btn, чтобы target был download_btn. И обратитесь к его родителю (sb).

Код AS3:
sb.download_btn.mouseChildren = false;
sb.download_btn.addEventListener(MouseEvent.CLICK, download_room);
 
function download_room(e:MouseEvent):void {
    var target:DisplayObject /* ваш download_btn */ = e.target as DisplayObject;
    var mc:MovieClip =  target.parent as MovieClip;
    trace(mc.id_txt.text);
}
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 09.06.2014, 15:54
slavnovik вне форума Посмотреть профиль Отправить личное сообщение для slavnovik Найти все сообщения от slavnovik
  № 9  
Ответить с цитированием
slavnovik

Регистрация: Jun 2013
Сообщений: 50
Цитата:
Сообщение от dimarik Посмотреть сообщение
Не пойдет тут currentTarget, он будет показывать на this.
Отключите детей у download_btn, чтобы target был download_btn. И обратитесь к его родителю (sb).

Код AS3:
sb.download_btn.mouseChildren = false;
sb.download_btn.addEventListener(MouseEvent.CLICK, download_room);
 
function download_room(e:MouseEvent):void {
    var target:DisplayObject  = e.target as DisplayObject;
    var mc:MovieClip =  target.parent as MovieClip;
    trace(mc.id_txt.text);
}
На
Код AS3:
sb.download_btn.mouseChildren = false;
ругается. Допустим, сделаю так:
(sb.download_btn as Button).mouseChildren = false;

все нормально. Затем ругается на
Код AS3:
var target:DisplayObject /* ваш download_btn */ = e.target as DisplayObject;


Попробовал
Код AS3:
var target:DisplayObject = DisplayObject(e.target);
Код:
TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".

Старый 09.06.2014, 17:09
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 10  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Не верю, что эта строчка дает ошибку. Перепечатайте сами. Мой PuntoSwitcher мог подменить на кириллицу.
Код AS3:
var target:DisplayObject /* ваш download_btn */ = e.target as DisplayObject;
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

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

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

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


 


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


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