![]() |
Затык с LoadMovie и адресациями...
Ребят, нужна помощь. Ошибка, как всегда, лежит на поверхности, но я ее в упор не вижу.
Есть один *.swf файл (назовем ф1_1). В него нормально загружается другой свф (ф1_2 - он загружается с помощью LoadMovie непосредственно в мувиклип, который расположен на сцене ф1_1). И есть еще один файл ф1_3 который таким же гаком загружается в мувиклип, расположенный на сцене ф1_2. В ф1_2 есть мувиклип, который дублируется и именуется (дубликат) dplayer. Ему я вот этим кодом присваиваю значение targ="playa" и потом загружаю в него файл (назовем ф2). Код:
duplicateMovieClip(dupl_box, "dplayer", this.getNextHighestDepth());Код:
_parent.map[targ].stop();Дело как раз в том, что не останавливает. Если вместо [targ] поставить .playa то все работает. Значение targ в трейсе ф2 пишется undefined. Но координаты ф2 меняются спокойно. Помогите плиз! |
Или stop не работает с динамической адресацией?
|
Хотя нет...
Код:
targ="playa"; |
Из всего написанного не понятно почему присвоив dplayer.targ какое-то значение ты ждешь, что то же значение будет и у targ в любом месте откуда ни обратись...
|
Я присваиваю значение targ только что отдублированному мувиклипу dplayer. Потом я в dplayer загружаю *.swf файл с кодом на первом кадре, который по идее должен использовать это значение нормально, вот и все... если я правильно понял вашу мысль.
|
Код:
var _l1:MovieClip = _root.attachMovie("holder_01", "h_mc", 0); |
Да честно говоря я уже много раз использовал сий финт, но сейчас просто нечто. Вообще даже идей нету почему оно так. Ну просто нету.
|
Самое глюкное, что вот так не работает (принимает):
Код:
dplayer.targ= "playa";Код:
dplayer._x= 50; |
да нет, ты просто присваиваешь в одном месте, а спрашиваешь в другом, вот упрощенный пример твоей ошибки:
Код:
my_mc._myProp = "My Property";Если сделаешь так: Код:
my_mc._myProp = "My Property"; |
Я не думаю, что ошибка в этом, ибо я проверил уже всеми известными мне способами. И пришел к якобывыводу, что дело в некой фиче duplicate. Пришлось данный лаг обходить. В подтверждение скажу, что если dplayer.targ="playa" забить в enterframe то все прекрасно работает. Другой вопрос, что enterframe мне в общем то не нужен, ну да ладно. Каким гаком я обошел сказать не могу, ибо тогда рубанули свет и ничего не сохранилось...
100% адресация и синтаксис (типа как в примере выше) у меня правильные, ведь с энтерфрамом работает все толково и как надо... убицца в первый раз встречаюсь с таким, учитывая, что я ужо неоднократно использовал это св-во. |
Ок, объясню почему работало с энтерфреймом. Очевидно в этой функции ты определял значение твоей переменной _в том месте откуда ты к ней обращаешся_.
Во всех остальных примерах ты обращаешся к свойству имени которого ты _не знаешь_. Пример еще раз: Код:
var targ; |
Код:
trace(my_mc["targ"]);Если так, то это не то что мне нужно. Мне то нужно, чтобы например значение targ было бы равно "playa". А потом кодом my_mc[targ] получилась адресация my_mc.playa ***Чуть позже*** Опс - нет я был не прав... момент |
Хм... нет, секунду, все правильно... за исключением
Цитата:
К тому же если у меня значение targ="playa", то адресация my_mc["targ"] даст адрес my_mc.targ А если my_mc[targ], то адрес будет my_mc.playa, что мне и нужно. Я наверное туп и не вижу решения в вашем варианте, но я его понял, это точно. Наперед скажу спасибо, но вопрос для остается открытым. |
Цитата:
Чтобы трейс вывел имя переменной Код:
my_mc.targ="blah-blah";Чтобы обратится к свойству объекта через оператор [] нужно в качестве параметра передать Стринг. Не важно определишь ли ты значение этого стринга до обращения или непосредственно в момент обращения. Т.е. Код:
my_mc.targ = "abcd";Код:
my_mc.targ = "abcd";И вообще, лучше дай исходник, а то так чет очень тяжко как-то =) |
Я б с удовольствием дал, но то что я наделал там, состоит из кучи файлов... придется передавать все, а этого не получится.
Я прекрасно понимаю примеры, которые вы приводите, и понимаю что там правильно, а что нет. Тем более, что значение targ уменя определяется, но в другом файле, а теоретически приниматься оно должно другим файлом, загруженным в мувиклип. |
| Часовой пояс GMT +4, время: 14:28. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.