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

CREDO 26.11.2005 23:19

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



class UnderButton extends MovieClip {
function UnderButton() {
this._alpha = 70;
this.onRollOver = function() {
this._alpha = 100;
};
this.onRollOut = function() {
this._alpha = 70;
};
this.onPress = function() {
for (var a = 0; a<=12; a++) {
_root.loader.loadClip("http://www.ra-slon.ru/"+this._name+"/resize.php?f=00"+a+".jpg&type=0", _root.images_mc["cell_"+a+""].frame_mc.loader_mc);
}
_root.images_mc._visible = true;
_root.string = [""+this._name+""]
};
}
}

KidsKilla 26.11.2005 23:55

из идеологии ооп классы должны быть изолироваными.

Цитата:

_root.images_mc._visible = true;
_root.string = [""+this._name+""]
нарушает всю идеологию =)

Antares 27.11.2005 00:17

Переопределять методы можно и нужно в теле класса, а не конструкторе, если это, конечно, не мегатрюк вроде имитации перегрузки.

Но основная ошибка, конечно, указана в посте выше.

CREDO 27.11.2005 01:31

ну а подругому же никак это нельзя написать :(

CREDO 27.11.2005 01:39

кажется допёрло, нуно создать функцию, свойством каторой будет target.

Наверно так?

Antares 27.11.2005 01:48

Я сторонник т.н. "подхода Мука", когда вместо расширения класса MovieClip мы делаем класс, хранящий ссылку объект MovieClip. Этот подход гибче.

При этом, да, конструктору или инициализирующему методу надо передать ссылку на этот объект, иначе никак.


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

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