![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: May 2009
Адрес: Санкт-Петербург
Сообщений: 79
|
Нужно проверить является ли дочерний элемент во N кадре мувиклипа таким же как и в N-1 кадре
var lastChild:DisplayObject=mc.getChildAt(0); mc.gotoAndStop(mc.currentFrame+1); var newChild:DisplayObject=mc.getChildAt(0); trace(lastChild==newChild);//всегда выводит тру В данном случае во всех кадрах по одному чилду. Каждый чилд-обычный битмап. Почему трейс выводит тру всегда? |
|
|||||
|
Регистрация: May 2009
Адрес: Санкт-Петербург
Сообщений: 79
|
Ну по сути в случае разных дочерних элементов lastChild и newChild должныв ссылаться на разные области памяти. А тут такое ощущение будто после смены кадра чилд0 мувиклипа ссылается на туже область памяти, что и в предыдущем кадре, отсюда и получается что lastChild все всремя тот же самый что и newChild. Как мне тогда в такой ситуации проверить одинаковые чилды или нет?
Добавлено через 1 минуту Проверять все их свойства остается? |
|
|||||
|
Потому что кадры - это понятие относительное. Только для аниматоров. А для программы, есть объект MovieClip, который является контейнером. В нем есть дочерний объект (картинка), на нулевом уровне. И пофиг с какого кадра это вызывается. Пока эта картинка лежит внутри КОНТЕЙНЕРА на нулевом уровне метод getChildAt(0) всегда будет возвращать ссылку на нее. Забудьте про кадры.
|
|
|||||
|
Регистрация: May 2009
Адрес: Санкт-Петербург
Сообщений: 79
|
Что тогда с точки зрения контейнера происходит, когда мы переходим с 1 кадра на второй, если в этих двух кадрах разные картинки?
Добавлено через 4 минуты Получается остается создавать битмапдаты для каждой картинки и попиксельно сравнивать |
|
|||||
|
я не понимаю зачем это вообще нужно?
Цитата:
|
|
|||||
|
Lorem ipsum
|
К чему ты это написал? Автор сравнивает ссылки на экземпляр(ы).
По теме. Если кинуть на таймлайн испытуемого мувика битмапы из библиотеки, скажем, по одной в каждый кадр, то выяснится, что это будут вовсе не разные Bitmap, а один и тот же Shape, залитый текстурой (есть даже целые "Методики зарисовки сцен одним Шейпом"). Текстура в каждом кадре будет разной, а вот шейп — один. Поэтому и ссылки с любого кадра ведут на один объект — вот откуда наш true. Стоит зайти в библиотеку и каждой битмапе тупо поставить галочку Export for ActionScript, как наши объекты в каждом кадре окажутся таки экземплярами Bitmap, и таки да — разными. Добавлено через 11 минут И да — nextFrame() удобней.
__________________
Поймай яблоко 2! |
![]() |
![]() |
Часовой пояс GMT +4, время: 02:06. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|