![]() |
|
||||||||||
|
|||||
|
Регистрация: Feb 2012
Сообщений: 205
|
var i:Number; var inv:Array = new Array (inv0,inv1,inv2) for (i=0; i<inv.length; i++){ inv[i].addEventListener(MouseEvent.CLICK, gotoURL);} function gotoURL(e:MouseEvent):void { var currentNumber:int; for(var i:int = 0; i<inv.length; i++) { if(e.currentTarget.name == ['inv'+i]) {gotoNewURL(i)}; }; } function gotoNewURL(i):void{ } для строки inv[i].addEventListener(MouseEvent.CLICK, gotoURL); В чём дело? почему работать не хочет |
|
|||||
|
Регистрация: Feb 2012
Сообщений: 205
|
это в самом деле пустые мувиклипы.
но не работает. увы =( |
|
|||||
|
Значит проблема не в указанном коде, а где-то в другом месте. Этот код у меня работает.
Возможно у Вас где-то выше есть незавершенное объявление переменой или какая-нибудь точка стоит, или запятая, там где ее быть не должно. В общем нужно смотреть остальное |
|
|||||
|
Регистрация: Feb 2012
Сообщений: 205
|
всмысле, если жать Continue, то потом всё работает. Как избежать появление ошибки - вот в чём вопрос.
Добавлено через 5 минут непонятно почему, но если элементов в массиве больше 10-ти, то работает.. мистика |
|
|||||
|
Нет там никакой мистики, 100% банальный человеческий фактор
замените код в цикле вот на этот: for (i=0; i<inv.length; i++){ if (inv[i] is EventDispatcher) { var ed:EventDispatcher = inv[i] as EventDispatcher; ed.addEventListener(MouseEvent.CLICK, gotoURL); } else { trace(inv[i], "не является диспетчером событий"); } } Возможно у вас один из объектов inv0, inv1, inv2 вообще не существует (имя не задано например), поэтому в массив попадает null, а у null нет методов |
|
|||||
|
[+4 08.09.13]
Регистрация: May 2012
Сообщений: 131
|
тут был коммент, который был удалён автором.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 13:59. |
|
|
« Предыдущая тема | Следующая тема » |
|
|