Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Класс, наследующий MovieClip. Конструктор класса или onLoad - в чем разница? (http://www.flasher.ru/forum/showthread.php?t=110693)

trigger 07.04.2008 13:15

Класс, наследующий MovieClip. Конструктор класса или onLoad - в чем разница?
 
В библиотеке имеется мувик, являющийся контейнером для подгрузки файлов (внутри этого мувика имеется функция init(путь1, путь2, ...), которая выполняет подгрузку).

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

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

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

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

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

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

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

chingachgoog 07.04.2008 13:46

Цитата:

Сообщение от trigger
В библиотеке имеется мувик, являющийся контейнером для подгрузки файлов (внутри этого мувика имеется функция 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

Цитата:

Сообщение от iNils
Что значит правильнее?

Я не осознаю разницу между конструктором класса (наследуемого от MovieClip) и методом onLoad.

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

iNils 08.04.2008 20:40

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

trigger 11.04.2008 01:43

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

iNils 11.04.2008 02:28

Цитата:

Сообщение от trigger
А если вложенное содержимое подгружается методом loadClip сработает ли onLoad после загркзки вложения?

С какой стати?


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

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