Форум 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)
-   -   Класс параметры AttachMovieClip (http://www.flasher.ru/forum/showthread.php?t=74280)

Fj17 16.01.2006 16:26

Класс параметры AttachMovieClip
 
Проблема:

есть класс наследуемый от MovieClip
в нём конструктор с параметрами
с использованием этих параметров инициализируются другие переменные класса.

на сцене объект данного класса создаётся с помощью AttachMovieClip
каким образом мне передать значения параметров в конструктор класса?
как понял InitObject из AttachMC инициализирует переменные класса после его создания.

можно ли как-нибудь по-другому создавать и прикреплять экземпляры данного типа?

спасибо.

Nirth 16.01.2006 16:30

есть два выхода
1) Наследование, использовать initObject (или реализовать это по своему, как например createClassObject в компонентах макромедии)
2) Композиция, создать класс, который бы контролировал какой либо мувиклип.
и в его конструкторе уже можно все вводить.

silin 16.01.2006 17:06

>>как понял InitObject из AttachMC инициализирует переменные класса после его создания
тут такая штука (поправьте если я не прав)- конструктор нормально видит InitObject:
Код:

class Test extends MovieClip{
        private var a;
        public function Test(){
                trace(a);
        }
}
////////////////
this.attachMovie('mc','tmp',0,{a:'xxx'})//xxx


KPaul 16.01.2006 21:23

Это точно, еще была такая практика в AS1:
Код:

class Test extends MovieClip{
        private var params;
        public function Test(){
                this.a = this.params.a;
                          ...
                          delete this.params;
        }
}

var params = {a:"", b:1};
this.attachMovie('mc','tmp',0,params})


Antares 16.01.2006 21:31

Расскажу сказку про то, о чем сказал Давид.

Еще какое-то время назад я почти и не наследовал от мувиклипа. Гораздо удобнее держать класс со ссылкой на его вид. Однако, создавая более-менее серьезный фреймворк пришел к мысли, что надо отказаться от наследования у такого вот самописного заменителя. Почему? Вам надо будет исхитриться реализовать тот же API своими руками, что иногда очень просто, но иногда -- как в случае с созданием копии attachMovie, содержит массу нюансов, отлавливать которые умрешь.

Поэтому теперь если знаю, что классов будет достаточно много и все с разным назначением и видами, наследую от MovieClip. В остальных случаях делаю как и раньше.


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

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