![]() |
Последовательность инициализации клипов
Вложений: 1
Смотрим аттач.
Создаем два класса Сlass1 и Class2 и два мувиклипа (экземляров этих классов). Помещаем мувиклип класса Class1 в мувиклип класса Class2. Но, Class2 инициализируется раньше Class1. Поэтому внутри #initclip обратиться к методом экземляра класса Class1 не получается (это при том что порядок в #initclip для Class1 стоит 1, а для Class2 - 2). Можно приаттачить из библиотеки клип первого класса this.attachMovie ("lib1", "mc", 0); (в примере закоментирован), тогда все работает. Попытка вызвать Class1.apply (this.mc); (в примере закоментирован) вызывает только функцию описывающую Class1. Вызов внутри нее метода init() не работает. Вопрос. Как заставить экземляр класса Class1 инициализироваться первым? |
сейчас нет возможности протестить. но вот выходы.
1) поставить галочку на import in first frame 2) если у тебя будет прелоадер, то следовать советам Колина Мука насчет АС2 классов. в первый кадр вставляешь прелоадер, в пятый кадр за пределами сцены вставляешь свои классы, после чего уже на десятом кадре начинаешь их юзать(можно обойтись в три кадра, но кто знает какие могут быть глюки) 3) попробуй юзать order в #initclip, Код:
#initclip 1 |
1-2. Это точно тут не причем
3. Стоит order. Все сделано на as1. Вариант на as2 не подходит. Но решение просто должно быть. Раз c attachMovie все работает, значит должна быть возможность вызвать и вручную. Мне так кажется. А зипе есть наглядный пример. |
Вроде нашел решение.
Надо внутри _global.Class2 = function () { написать this.mc.__proto__ = new Class1 (); Спасибо Nirth, за попытку помочь разобраться. |
| Часовой пояс GMT +4, время: 19:05. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.