PDA

Просмотр полной версии : Вложения динамически создаваемых объектов


vampr0
28.10.2006, 05:56
Скорее всего вопрос уже поднимался, но поиск ничего не дал :(

Так вот, вопрос. Пишу скрипт, который генерит несколько символов-кнопок, и внутрь них вставляет еще один символ, с картинкой. То есть получается что есть несколько динамически создаваемых button-i(i меняецца скажем 10 раз, и получаем 10 символов button-1, button-2, button-3), и соответственно в каждую из этих кнопок вбиваю другой символ, скажем image-i. Так вот, вопрос - как мне в дальнейшем обращатся к этим самым image-i?

Пока я допер только до такого рода конструкции:
_root["button-" + i].createEmptyMovieClip("image" + i, блабла...
_root["button-" + i].loadMovie(image_prev2_url, 'image-' + i);

Но вот что-то тут не пашет, а почему - не понимаю. Ну и конечно хотелось бы выяснить, как в дальнейшем обращацца к такого рода динамически создаваемым объектам для получения и измеения всяких их свойств. Буду признателен за любые советы/предложения/упрощения 8)

Хемуль
28.10.2006, 06:10
2 vampr0:
Замените чёрточку в именах кнопок на символ нижнего подчёркивания, например...

vampr0
28.10.2006, 06:12
2 vampr0:
Замените чёрточку в именах кнопок на символ нижнего подчёркивания, например...

Да не, это не принципиально, можно хоть вовсе без черточекподчеркиваний, одна фигня, создается тока первый объект, причем без событий, ему назначаемых, а дальше - тишина, и мертвые как водицца стоять...

Хемуль
28.10.2006, 06:24
2 vampr0:
Это потому, что не приняли всерьёз моё сообщение. Если не ошибаюсь, нельзя использовать в именах клипов символ "-".

iNils
28.10.2006, 06:25
Прочитайте в хелпе отличии в синтаксисе loadMovie и MovieClip.loadMovie.

vampr0
28.10.2006, 06:30
окей, упростим задачу, пример из жизни, без динамики и всяких подчеркиваний и тире.

this.createEmptyMovieClip("button", _root.getNextHighestDepth());
_root["button"].createEmptyMovieClip("image", _root["button"].getNextHighestDepth());
_root["button"].loadMovie(image_url, "image");


Вот это работает, а после этого - уже фиг, назначаемые ивенты для кнопки не пашут раз, и то, как в этих ивентах обращацца к тем самым image через динамически формируемое имя тоже по прежнему не ясно...

Еще раз, у меня главная проблема даже не в этом разнесчасном лоадмуви ,а в том, что я не понимаю как обращатся к объектам, являющимися вложениями других динамически создаваемых объектов, то есть банально, мне нужно понять как реализовать конструкуию имякнопки.имякартинки.метод где и имя кнопки ,и имя картинки генерится в скрипте, и заранее не известно.

Хемуль
28.10.2006, 06:31
2 vampr0:
Хотя нет, можно использовать и "-", но не рекомендую... Иначе вам придётся обращаться к мувиклипу только так:

this["a-1"]._x = 1;

потому что так работать не будет:

this.a-1._x = 1;

И по поводу того, что сказал iNils... Надо:

_root["button"]["image"].loadMovie(image_url);

И свой код следует оформлять в тэги CODE. Иначе на вас будут сердиться. ^_^

iNils
28.10.2006, 06:36
Я советую вам обратить внимание на мой первый пост :)

vampr0
28.10.2006, 06:40
_root["button"]["image"].loadMovie(image_url);


Во! Вот именно и это мне и было нужно 8)

И свой код следует оформлять в тэги CODE. Иначе на вас будут сердиться. ^_^

Уже :P Спасибо!

iNils Хелп я читал, и про различия в курсе, но видимо не только я не очень внимательно читаю чужие сообщения ;))