PDA

Просмотр полной версии : MovieClip id


ebaca
11.10.2011, 20:43
Здравствуйте. Если мувиклипам не задан linkage id, как можно понять что перед нами интстансы одного и того же мувика?
Инстансы могут быть расположены на разных уровнях вложенности, иметь разные имена, иметь разные параметры трасформа.
Кроме кол-ва кадров не вижу постоянных атрибутов, но это, конечно, довольно не уникальный ключ.
Переменную в мувике создавать — не айс.
Подскажите направление, пожалуйста.

Vansimar
11.10.2011, 21:25
если правильно тебя понял , то можно создать массив из объектов- мувиков,а потом обращаться к ним по индексам

КорДум
11.10.2011, 21:41
Доступ к клипу можно получить через DisplayObjectContainer#getChildAt и иже с ним. Естественно, что класс у них должен быть одинаков. В таком случае строчка
if (getChildAt(2) is MyClass && getChildAt(4) is MyClass)
даст true.

botbot
11.10.2011, 21:51
getQualifiedClassName( твой_клип ) даст имя класса. Сравнивая имена можно установить идентичность.
А что такое linkage id ?

ebaca
11.10.2011, 22:27
Linkage id задаётся в свойствах объектов в библиотеке. линкейдж как раз и задаёт классы мувика.
Еслиб каждый мувик в библе имел свой класс, то простой .toString() (выдайт [object имя_класса]) позволил бы понять, то это инстансы одного мувика. Но мне надо проверять инстансы мувиков, которые не имеют своего линкейдж-ид.
Флешки - это некие баннеры, они создаются не мной - там всё проанимировано на таймлайне, достаточно грубо.
И один и тот же мувик может по ходу анимации пропасть и появиться на таймлайне, для флеша это новый объект, а мне нужно знать что он тот же, что и был уже.

silin
11.10.2011, 22:29
если Linkage id не задан (т.е. не задан собственный класс клипов), то все они будут MovieClip и различить их по конструктору не получится

ebaca
11.10.2011, 22:57
Да, спасибо, это подразумевалось ещ в первом посте.
Только у меня вдруг флеш начал вести себя, так как мне нужно. Если раньше вспомогательные мувики на toString() выдавали [object Object], то теперь [object имя_мувика_в_библиотеке_номер].
Один и тот же мувик выдаёт стабильно одно и то же значение, сколько бы раз он не появился на таймлайне, и куда бы я его не вложил в другие мувики.
Не понимаю почему так произошло. Но даже после перезапуска флеша, выдаёт стабильно то, что нужно.
Буду надеяться результат будет постоянно таким.
Спасибо всем.

botbot
12.10.2011, 14:06
Ну если вдруг перестанет работать, сравнивай скрины серединных кадров попиксельно (естественно сначала сделав масштабирование, чтобы размер совпал). Я думаю это самое надёжное будет.