Форум 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 (http://www.flasher.ru/forum/showthread.php?t=93824)

Север 29.03.2007 12:12

Расширение класса MovieClip
 
Столкнулся вот с такой проблеммой. Нужны дополнительные параметры для клипа. Допустим его название как мне расширить класс MovieClip чтобы у него был такой параметр как _caption?

FourSide 29.03.2007 12:16

Если я правильно понял, то можно создать свой собственный класс на основе уже имеющегося. Можно переопределять некоторые стандартные методы MovieClip'а, дополнять собственными методами и свойствами и прочее.
Код:

class NewMovieClip extends MovieClip {
        public var _caption:String = "";

        public function NewMovieClip() {
                // constructor
        }
}


Север 29.03.2007 12:19

а конкретно с MovieClipом нельзя ничего сделать?

iNils 29.03.2007 12:33

Код:

MovieClip.prototype._caption = "ppp";
this.createEmptyMovieClip ("mc", 0);
trace (mc._caption);

Только у меня вопрос, а что вы будете хранить в _caption?

Север 29.03.2007 12:39

Исходную задачу долго объяснять, но видимо придется.
Мне нужно расширить класс MovieClip булевой переменной "_active" плюс парой строковых переменных.

Вот и хотел узнать как это возможно

iNils 29.03.2007 12:41

Только учтите, что это считается хаком.

Север 29.03.2007 12:44

Я называю это расширением пространства восприятия ))

etc 29.03.2007 13:14

FourSide, конструктор супер-класса вызывать полагается вообще-то.

Север, если возникает необходимость лезть в прототип встроенных классов — плохой проект и его организация.
Наверняка можно обойтись статическим свойством класса.


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

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