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

xander_korolev 21.04.2009 14:39

Как можно оптимизировать код
 
Я пишу что-то вроде теста: есть 9 составных частей (блоков). С их помощью пользователь должен заполнить 4 блок-схемы. Причем в некоторых из них не важен порядок размещения (нужно просто из 9 возможных блоков, выбрать к примеру 5 нужных), в других же блок-схемах наоборот необходим строгий порядок размещения (каждый блок в строго определенное место).
В итоге получилась огромная программ, где один и тот же код повторяется по многу раз для разных объектов.
Например, такой код касается 1 блока (для первой блок-схемы):
Код:

in_mc.onPress = function() {
        this.startDrag(false,70,110,800,550);
        this._x = _xmouse;
        this._y = _ymouse;
}
in_mc.onRelease = function() {
        in_mc.stopDrag();
        if(blok1_mc.hitTest(this)) {
                this._x = blok1_mc._x;
                this._y = blok1_mc._y;
        }
        if(blok2_mc.hitTest(this)) {
                this._x = blok2_mc._x;
                this._y = blok2_mc._y;
        }
        if(blok3_mc.hitTest(this)) {
                this._x = blok3_mc._x;
                this._y = blok3_mc._y;
        }
        if(blok4_mc.hitTest(this)) {
                this._x = blok4_mc._x;
                this._y = blok4_mc._y;
                B4 = true;
        }
        if(blok5_mc.hitTest(this)) {
                this._x = blok5_mc._x;
                this._y = blok5_mc._y;
        }
}

а у меня таких 9 шт. :(
Может можно как-нибуть определять имя объекта по которому кликнули? Или еще как-нибудь... или у меня вообще в корне не правильный подход к решению задачи?

ОльгаЮрьевна 21.04.2009 14:45

вам надо обращаться к вашим блокам в цикле и имена формировать с переменной из цикла... например:
Код AS1/AS2:

for (i=1; i<=9; i++) {
а имя - ["blok"+i+"mc"]
}

как-то так:)

xander_korolev 21.04.2009 14:58

Да, хороший совет.. но тут еще фишка в том что блоком является in_mc, а blok1, blok2 и т.д. это лишь возможные ячейки куда мона прилеплять блоки тут же и проверяется правильно ли расположили... вот

ОльгаЮрьевна 21.04.2009 15:03

... ну так ячейки перебирайте в цикле - суть-то одна: иметь динамический доступ:)


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

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