![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Привет.
У меня есть XML, который парсится с помощью XPath4AS2 и на основе данных дублируются клипы для менюшки. Код приобретает такой вид: my_xml.onLoad = function(success:Boolean):Void { if (success) { var Categories:Array = XPath.selectNodesAsString(my_xml, "products/category/@name"); var Items:Array = XPath.selectNodesAsString(my_xml, "products/category/item"); var FrstItems:Array = XPath.selectNodesAsString(my_xml, "products/category/item[1]"); var Pics:Array = XPath.selectNodesAsString(my_xml, "products/category/item/@img"); var Links:Array = XPath.selectNodesAsString(books, "products/category/item/@link"); var totalCat = Categories.length; var totalItems = Items.length; for (i=0; i<totalItems; i++) { container.icon.duplicateMovieClip("icon"+i,container.getNextHighestDepth()); position = iconTotalWidth*i; loader = new MovieClipLoader(); loader.loadClip(Pics[i],container["icon"+i]); container["icon"+i]._x = position; } } else { result_ta.text = "Error connecting to server."; } }; my_xml.load("products.xml"); Вопрос: как дублирующимся клипам с именами ["icon"+i] присвоить соответствующие ссылки из массива Links:Array? Пытался внутри цикла "for" прописать вот такое: но это не работает ![]() Заранее спасибо. |
|
|||||
|
Регистрация: Jul 2008
Сообщений: 257
|
var temp_mc = container.icon.duplicateMovieClip("icon"+i,container.getNextHighestDepth()); Последний раз редактировалось artem_fs; 05.12.2008 в 16:30. |
|
|||||
|
нет, к сожалению, ни один из вариантов не работает. Кнопки даже не становятся активными (курсор не меняется на пальчик).
![]() |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
|
Не удивительно.
Вы пытаетесь навесить onRelease в клип в который грузите картинки. Естественно, после старт загрузки, содержимое клипа, в том числе и onRelease удаляются. Назначать надо либо после загрузки, либо грузить в клип-контейнер внутри клипа с событием. |
|
|||||
|
что-то не работает.
Хотя, я не уверен, что правильно использую onLoadComplete: //---------------------------- загрузка картинки loadListener.onLoadComplete = function():Void { trace("loaded"); container["icon"+i].id = i; trace(container["icon"+i].id); container["icon"+i].onRelease = function() { getURL(Links[i], "_self"); }; }; var loader = new MovieClipLoader(); loader.addListener(loadListener); loader.loadClip(Pics[i],container["icon"+i]); //---------------------------- конец загрузки картинки |
|
|||||
|
Спасибо! Я нашёл способ — обходной путь:
в родительском клипе container создал ещё один дублирующийся клип ("clicker"+i), которому назначил ссылки и координаты, соответствующие клипам с картинками ("icon"+i). Теперь они действуют независимо. Ещё раз спасибо за помощь! P.S. Для меня это гораздо проще, потому что я всё равно ничего не понял про onLoadComplete. У меня синтаксис хромает — я начинающий. P.P.S. Я заметил, что в CS4 при нажатии F1 вызывается онлайновая справка флэша. А что в новой версии нет локальной справки, как в CS3? Последний раз редактировалось Punk T-34; 05.12.2008 в 17:50. |
![]() |
![]() |
Часовой пояс GMT +4, время: 16:56. |
|
|
« Предыдущая тема | Следующая тема » |
|
|