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

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

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

Регистрация: Mar 2001
Адрес: Spb
Сообщений: 6
Отправить сообщение для Nell с помощью ICQ Отправить сообщение для Nell с помощью Yahoo
По умолчанию Как сохранить имя при addChild()

Добрый день!
Проконсультируйте, плз.
Есть XML-файл, в котором находится информация о нескольких объектах (имя - инфо- картинка).
Мне надо выводить картинки, и потом, при клике на них, выводить инфо и тд.
Я создаю экземпляр мувика, присваиваю имя, подгружаю картинку, создаю обработчик события на клик, но имя экземпляра мне не возвращается .
Как это победить? вторые сутки мучаюсь

Старый 16.08.2010, 12:42
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

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

Старый 16.08.2010, 12:45
Nell вне форума Посмотреть профиль Отправить личное сообщение для Nell Найти все сообщения от Nell
  № 3  
Ответить с цитированием
Nell

Регистрация: Mar 2001
Адрес: Spb
Сообщений: 6
Отправить сообщение для Nell с помощью ICQ Отправить сообщение для Nell с помощью Yahoo
чтобы выводить полную информацию по клику. Чтобы создать список выбранных объектов (а-ля "корзина")

Старый 16.08.2010, 12:47
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 4  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

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

Старый 16.08.2010, 13:02
Nell вне форума Посмотреть профиль Отправить личное сообщение для Nell Найти все сообщения от Nell
  № 5  
Ответить с цитированием
Nell

Регистрация: Mar 2001
Адрес: Spb
Сообщений: 6
Отправить сообщение для Nell с помощью ICQ Отправить сообщение для Nell с помощью Yahoo
там много... покажу только функцию, где экземпляры создаются, ок?

Код AS3:
function loadBott(url,i, X, Y, Pl, nam,ind)//url - путь картинки, i - значение из цикла, X,Y - координаты, Pl - это приращение координаты, nam - Первая часть имени, ind - индекс трансформирования
{
        var container:Sprite = new Sprite();
        addChild(container);
        var imc2:inCom=new inCom();
	imc2.name = String(nam) + String(i);
	trace (imc2.name);
 	imc2.buttonMode=true; 
        var pictLdr:Loader = new Loader();
        var pictURLReq:URLRequest = new URLRequest(url);
        pictLdr.addEventListener(MouseEvent.CLICK, onclickS);
        pictLdr.load(pictURLReq);
 
        pictLdr.x=-20; 
        pictLdr.y=-45;
        imc2.addChild(pictLdr);
        imc2.y=Y;
        imc2.x=X+i*Pl;
 
        container.addChild(imc2);
 
        function imgLoaded(event:Event):void
        {
                 container.addChild(pictLdr.content);
                 imc2.y=Y;
                 imc2.x=X+i*Pl;
 
                 if(ind!=0)
                 {
	                 imc2.scaleY=imc2.scaleX=0.7*i;
	                  imc2.y=Y-imc2.height;
                   }
        }
}
 
 
function onclickS(event:MouseEvent):void{
		var rect:MovieClip = new infoWIne();
		addChild(rect);// сюда надо передавать мне инфо, чтоб отображать информацию
		rect.x=550;
		rect.y=200;
		rect.closeX.addEventListener(MouseEvent.CLICK, rC);
		function rC(event:MouseEvent):void
		{
 		         removeChild(rect);
		}
}


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

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,879
Записей в блоге: 7
Это не код, а каша из кода. Код оформляется с табуляцией, чтобы его было можно читать.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 16.08.2010, 13:21
Nell вне форума Посмотреть профиль Отправить личное сообщение для Nell Найти все сообщения от Nell
  № 7  
Ответить с цитированием
Nell

Регистрация: Mar 2001
Адрес: Spb
Сообщений: 6
Отправить сообщение для Nell с помощью ICQ Отправить сообщение для Nell с помощью Yahoo
сорь , поправила...

Старый 16.08.2010, 13:37
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 8  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,879
Записей в блоге: 7
Я буду по порядку ошибки говорить которые вижу.
1. Типизациия. Она не только ускоряеет работу кода, но и помогает вам же вспоминать что это за тип и дает возможность использование автокомплита.
2. Переменные, функции и аргументы всегда пишутся с маленькой буквы. Вашие X, Y и P1 можно назвать x0, y0 и delta.
3. Забудьте про вложенные функции. От них нет никакой пользы, а только один вред. Начиная от невозможности отписаться, заканчивая засорением памяти приложения.

Теперь о самом вопросе. У события event есть свойство target, которое ссылается на тот объект, который его послал. В данном случае это pictLdr, но name вы присвоили для imc2. Поэтому, если вы хотите вывести только name, то правильно будет повесить обработчик на imc2. Тогда при вызове события имя вы получите так
Код AS3:
trace ((target as Sprite).name);
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 16.08.2010, 14:47
Nell вне форума Посмотреть профиль Отправить личное сообщение для Nell Найти все сообщения от Nell
  № 9  
Ответить с цитированием
Nell

Регистрация: Mar 2001
Адрес: Spb
Сообщений: 6
Отправить сообщение для Nell с помощью ICQ Отправить сообщение для Nell с помощью Yahoo
Спасибо большое!

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

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

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


 


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


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