PDA

Просмотр полной версии : Класс, наследующий MovieClip. Конструктор класса или onLoad - в чем разница?


trigger
07.04.2008, 13:15
В библиотеке имеется мувик, являющийся контейнером для подгрузки файлов (внутри этого мувика имеется функция init(путь1, путь2, ...), которая выполняет подгрузку).

Такое использование неприемлемо:

attachMovie("container", "new_mc", myDepth);
new_mc.init(path1,path2);

init - не вызывается, видимо не успевает проинициализироваться, приходится выносить ее вызов в следующий кадр (что имхо несистемно).

Решил обойти проблему путем использования собственного класса, наследующего MovieClip. Хочу спросить у знатоков решит ли это мою проблему?

С ООП я знаком, но флешевское только осваиваю, такие вопросы возникли.

Есть наследуемый метод onLoad и конструктор моего класса, какому из них предпочтительнее передавать параметры кто когда инициализируется?

Мне необходимо создать несколько мувиков внутри основного. Как это делать динамически в классе?

chingachgoog
07.04.2008, 13:46
В библиотеке имеется мувик, являющийся контейнером для подгрузки файлов (внутри этого мувика имеется функция init(путь1, путь2, ...), которая выполняет подгрузку).

Такое использование неприемлемо:

attachMovie("container", "new_mc", myDepth);
new_mc.init(path1,path2);



Самый простой способ - воспользоваться расширенным синтаксисом attachMovie:

attachMovie("container", "new_mc", myDepth,{par1:path1, par2:path2});


а в самом мувике сразу на первом кадре:

new_mc.init(par1,par2);

qazwsx
07.04.2008, 13:46
Можно просто передать созданному ролику пармтры
new_mc.arg1 = ...
new_mc.arg2 = ...
внутри крилпа после опсания функции будет ее вызов
init(arg1, arg2);
Тагда при атаче клипа ты ему задаш эти 2 переменные, а при загрузке клипа он уже их будет иметь и вызовит функцию. С одной стороны конечно лучше вынести из клипа весь код но как хочеш...

trigger
08.04.2008, 20:19
Спасибо, за ответы - попробую, отпишусь.

Но все же может кто-нибудь в двух словах напишет когда в моем случае правильнее использовать конструктор класса и метод onLoad.

iNils
08.04.2008, 20:29
Что значит правильнее?

trigger
08.04.2008, 20:34
Что значит правильнее?
Я не осознаю разницу между конструктором класса (наследуемого от MovieClip) и методом onLoad.

Каким из этих способов передавать значения свойствам моего класса?

iNils
08.04.2008, 20:40
onLoad это не метод, а событие о полной инициализации клипа со всем его вложенным содержимым.
См небольшой пример.

trigger
11.04.2008, 01:43
спасибо, проясняется :). А если вложенное содержимое подгружается методом loadClip сработает ли onLoad после загркзки вложения?

iNils
11.04.2008, 02:28
А если вложенное содержимое подгружается методом loadClip сработает ли onLoad после загркзки вложения?С какой стати?