Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как упростить создание большого количества классов при определенных условиях? (http://www.flasher.ru/forum/showthread.php?t=174410)

rikko 24.01.2012 22:44

Как упростить создание большого количества классов при определенных условиях?
 
Код AS3:

switch(this.simbol)
                        {
                                case 10:
                                        graph=new Graph1();
                                break;
                                case 11:
                                        graph=new Graph2();
                                break;
                                case 12:
                                        graph=new Graph3();
                                break;
}

Можно как-то схему упростить? 9 штук еще куда ни шло а если их 60 будет? Я так понимаю, из переменной имя класса при создании нельзя получить?

dimarik 24.01.2012 22:53

Код AS3:

new (getDefinitionByName('Graph' + i) as Class)();


СлаваRa 24.01.2012 22:54

а какая задача вообще?

rikko 25.01.2012 12:00

Цитата:

Сообщение от dimarik (Сообщение 1058914)
Код AS3:

new (getDefinitionByName('Graph' + i) as Class)();


спасибо

Цитата:

а какая задача вообще?
Очень правильный вопрос, запустим - узнаем :).
А вообще согласен, можно это все одним классом сделать.
Задача такова, что изначально было 9 кадров в мувике, которые в зависимости от парметра symbol отображали определенный символ по gotoAndStop();
Появилась необходимость в каждом кадре создать вместо стат картинки мувик, который в зависимости от некоего параметра2, будет показывать другой символ. Вот в момент клика и отображения я и создаю new Graph();

Наверное, правильнее будет создать спрайт в котором динамически будет добавляться графика при создании, а имена графики хранить в массиве.
Я так понимаю, графику надо хранить в библиотеке в MovieClip? (Извините, опять протупил. Просто в разделе базовый класс в свойствах мувика задал Sprite вместо MovieClip)


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

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