Форум 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=85737)

CREDO 29.09.2006 11:05

Корректность класса.
 
Подскажите на сколько правильно написан этот класс?

Код:

class SortChar {
        function SortChar(period:Number, frequency:Number) {
                TextField.prototype.addSortChar = function(word:String) {
                        var target:MovieClip = this;
                        var position:Number = 0;
                        var changed:Number = 0;
                        function sorting() {
                                if (position == word.length) {
                                        return;
                                }
                                for (var capacity = position; capacity<word.length; capacity++) {
                                        Selection.setFocus(target);
                                        Selection.setSelection(capacity, capacity+1);
                                        target.replaceSel(chr(1040+Number(random(66))));
                                }
                                changed++;
                                if (changed>period) {
                                        changed = 0;
                                        Selection.setFocus(target);
                                        Selection.setSelection(position, position+1);
                                        target.replaceSel(word.substring(position, position+1));
                                        position++;
                                }
                        };
                        setInterval(sorting, frequency)
                };
        }
}

*.fla
Код:

createTextField("text_txt", 0, 100, 250, 500, 500)
new SortChar(3)
text_txt.addSortChar("Redflame");


FlexBuilder 29.09.2006 11:27

чтоб работал с this надо extends MovieClip
а если не хочется extends надо делать функцию, которую бы снаружи на onEnterFrame вызывал родительский мув [либо какой-нибудь специальный контроллер]. Хотя конечно для настоящего ООП это все довольно криво...

CREDO 29.09.2006 11:31

Что именно криво, как следует писать?

miramax 29.09.2006 11:52

Код:

class SortChar extends MovieClip{
///бла-бла-бла
}

Пусть пока твой класс наследует как можно больше. Потом сам разберёшься с наследованием

etc 29.09.2006 13:38

1. TextField.prototype — использовать нельзя.
2. var target:MovieClip = this; — this является TextField-ом, а не MovieClip-ом.
3. for (var capacity = position; — не указан тип переменной.
про extends уже сказали.


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

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