Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Инстансы и скриптовый мувик (http://www.flasher.ru/forum/showthread.php?t=182644)

avo 30.07.2012 11:07

Инстансы и скриптовый мувик
 
В библиотеке имеем клип Base, в котором располагаются некоторые элементы - название, цена, картинка продукта- тп. В коде этот мувик вставлен в другой, чисто скриптовый, ну и уже этому скриптовому мувику присваиваются значения для элементов Base - они берутся из внешнего XML. Я хочу использовать Base в нескольких местах - чтобы не в одном месте выводилась инфа о товаре, а в разных. Но как мне его инстансировать, если все ссылки то цепляются не непосредственно к нему, а к тому мувику, который в скрипте создан и включает в себя этот самый Base?
Код AS1/AS2:

Produc = ProductsContainer.attachMovie("Base","Produc"+i,i);

i - это переменная, номер продукта.

mooncar 30.07.2012 11:46

Цитата:

Сообщение от avo (Сообщение 1090212)
все ссылки то цепляются не непосредственно к нему, а к тому мувику, который в скрипте создан и включает в себя этот самый Base

Что значит "цепляются ссылки"? О каких "ссылках" речь? Просто "ссылка" в ActionScript - это вполне конкретный термин. А в его контексте смысл этой фразы не вполне ясен.

Ну и сразу: приаттаченый мувик можно только продублировать (методом duplicateMovieClip), при этом дублировать можно только в пределах того же самого контейнера-родителя. Вдобавок к этому приобретенные (назначенные) свойства вложенных объектов не будут повторены в дубле (такие, как значения текстовых полей, например). То есть полноценно использовать его еще "где-то" нельзя.

При работе с XML, при его парсинге, может быть целесообразно заполнить специальный массив, откуда и брать значения для использования в разных местах. Я например, делаю так для удобства, хотя это и избыточно - ведь экземпляр XML по сути - уже ассоциативный массив.

------------------------------
Предположу ситуацию, возможно, похожую на вашу. Допустим, вы создаете таблицу номенклатуры товаров со строками-мувиками, соответствующими конкретному товару.
Тогда при формировании таблицы (например в цикле с переменной цикла id) и задании значений для текстовых полей конкретного мувика-строки-товара мы будем использовать значения элементов "двумерного" массива (полученного при парсинге XML), вида items[id]['name'], items[id]['price'].... и т.д. по всем нужным характеристикам.
Индекс id также зададим в этом же цикле как свойство (переменную) для этого конкретного мувика-строки.
Пусть при клике по полоске открывается карточка товара. При этом при клике мы получим id, и по нему же в карточке товара вновь выведем требуемые значения, взятые из этого же массива.

Мысль такая - не стоит использовать отображаемые элементы как источник данных. Следует разделять данные и их визуализацию.

Если же у вас какая-то другая ситуация, то стоило бы её раскрыть поподробнее.

Hauts 30.07.2012 12:03

Очень странная проблема. Вы же сами пишите код, поэтому вы и управляете значениями ссылок. В вашем примере у вас переменная "Produc" (почему-то без "t") и есть ссылка на клип, а не ссылка на контейнер для этого клипа. Нужны другие клипы — создавайте их и назначайте ссылки.


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

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