|
|
|||||
Как сохранить имя при addChild()
Добрый день!
Проконсультируйте, плз. Есть XML-файл, в котором находится информация о нескольких объектах (имя - инфо- картинка). Мне надо выводить картинки, и потом, при клике на них, выводить инфо и тд. Я создаю экземпляр мувика, присваиваю имя, подгружаю картинку, создаю обработчик события на клик, но имя экземпляра мне не возвращается . Как это победить? вторые сутки мучаюсь |
|
|||||
чтобы выводить полную информацию по клику. Чтобы создать список выбранных объектов (а-ля "корзина")
|
|
|||||
там много... покажу только функцию, где экземпляры создаются, ок?
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. |
|
|||||
сорь , поправила...
|
|
|||||
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,879
Записей в блоге: 7
|
Я буду по порядку ошибки говорить которые вижу.
1. Типизациия. Она не только ускоряеет работу кода, но и помогает вам же вспоминать что это за тип и дает возможность использование автокомплита. 2. Переменные, функции и аргументы всегда пишутся с маленькой буквы. Вашие X, Y и P1 можно назвать x0, y0 и delta. 3. Забудьте про вложенные функции. От них нет никакой пользы, а только один вред. Начиная от невозможности отписаться, заканчивая засорением памяти приложения. Теперь о самом вопросе. У события event есть свойство target, которое ссылается на тот объект, который его послал. В данном случае это pictLdr, но name вы присвоили для imc2. Поэтому, если вы хотите вывести только name, то правильно будет повесить обработчик на imc2. Тогда при вызове события имя вы получите так |
|
|||||
Спасибо большое!
|
Часовой пояс GMT +4, время: 13:44. |
|
« Предыдущая тема | Следующая тема » |
|
|