Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   MovieClip id (http://www.flasher.ru/forum/showthread.php?t=169765)

ebaca 11.10.2011 20:43

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

Vansimar 11.10.2011 21:25

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

КорДум 11.10.2011 21:41

Доступ к клипу можно получить через DisplayObjectContainer#getChildAt и иже с ним. Естественно, что класс у них должен быть одинаков. В таком случае строчка
Код AS3:

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

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


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

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