![]() |
Странная работа swapDepths()
Кто объяснит этот глюк и как его побороть:
Представьте фильм, два кадра. Первый - пустой. Во втором - клип и кнопка. Код:
stop();Цитата:
Цитата:
|
И в чем же чудеса? Вы когда на второй кадр заходите, там мувик на -16381 нарисован? Нарисован. А то что Вы его на 10 закинули, в первом кадре известно комунибудь? Неизвестно. Там и мувика такого ВООБЩЕ НЕТ. А при втором проходе все всплывает - есть тот, что Вы забросили на 10 и тот, что нарисован в кадре.
|
Не понял...
Цитата:
Цитата:
|
Цитата:
|
Хм... Оч. интересно. Этого я не знал..
Действительно, создается второй клип - его визуально видно! Однако, его нет в дебаггере! |
Цитата:
|
iNils, де почитать про ето?
|
Цитата:
|
Гм, явного упоминания этого феномена здесь не нашел. Но, видимо, нужно на свежую голову. Спасибо за совет.
|
Про копирование мувиков уже была когда-то тема… Вроде.
|
Это между строк написано.
Для добавления объекта в дисплейный список, используется тег PlaceObject2 или PlaceObject3 (расширен для использования blendmode), у него есть обязательное поле Depth, по которому идентифицируется символ, а вовсе не по имени. Соответственно, раз глубина изменилась, то идентифицировать символ нельзя, но быть то он должен, мы ведь попали на ключевой кадр, а в нем опять выполняется содержимое тега PlaceObject2, поэтому создается новый символ. |
Не совсем понятно...
Если кадр пустой, но является ключевым, то в нем по-любому какие-то символы ищутся? |
Только те, что описываются в swf.
|
При заходе на первый кадр плеер читает файл. Там сказано, что на втором кадре на глубине -16...... находится экземпляр символа .... Плеер его туда и помещает. Экземпляр, висящий в это время на глубине 10, в файле свф не описан - он там появился программно. Поэтому с ним плеер ничего не делает (в смысле не удаляет, как надо бы по идее) В результате у нас два экземпляра, что самое неприятное - с одинаковым instance name.
|
to iNils:
а какие описываются в swf? to Wolsh: И как же тогда решать проблему двух клипов с одинаковыми инстанснеймами? Это же из-за такого по незнайке можно мозг себе сломать чтоб выявить причину глюков... |
Цитата:
Цитата:
|
Да просто надо либо анимашки делать на таймлайне, либо программировать. Если второе, то забываем про кадры и наслаждаемся компанией из аттач/ремув и событий. Надо не решать проблему с именами, а не допускать ее возникновения. Не должно быть второго клипа, не будет и проблемы с именами)
|
1000 извинений если это уже оффтоп, но как же не допускать если в данном случае их создалось два и при чем, как Вы говорите, с одинаковыми именами?
Я с таким, просто, еще не сталкивался, но смотрю что тема такая можно рано или поздно на такие грабли наступить, вот и пытаюсь для себя уяснить что к чему. |
Либо работаешь "вручную", т.е. ручками раскладываешь все клипы по местам и забываешь про программную манипуляцию глубинами, либо все клипы аттачишь из библиотеки.
|
| Часовой пояс GMT +4, время: 00:18. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.