Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Advanced (http://www.flasher.ru/forum/forumdisplay.php?f=4)
-   -   Оптимальное размещение клипов в стеке (Flash5). (http://www.flasher.ru/forum/showthread.php?t=32528)

Акакий Акакиевич 03.06.2002 10:34

Оптимальное размещение клипов в стеке (Flash5).
 
ЗАДАЧА: создать несколько mc в виде квадрата 20х20, в котором параметры (например цвет или прозрачность) каждого пиксела можно менять динамически, в зависимости от поставленных задач, т.е. каждый пиксел сам является mc. Этакий змулятор .bmp-файла. Всё это работать должно в такой последовательности: при первой загрузке, из постороннего приложения во Flash поступает описание 30-ти таких mc, Flash их генерит, а при последующих запуках Flash уже не нуждается в описании каждого пиксела, ему нужно те сгенерённые 30 mc.
РЕШЕНИЕ1: приаттачить в клип square 400 mc размером 1х1, каждому через цикл for присвоить, используя инкрементирующеюся переменную, имена от square1 …до… square400 и обращаться к методам каждого mc в зависимости от поставленных задач.
НЕДОСТАТКИ РЕШЕНИЯ1: так как таких mc-квадратов размером 20х20 нужно иметь на экране единовременно порядка 30 штук, то арифметика проста: 30*20*20+30=12030 mc на рабочем столе, что наверняка приведёт к переполнению стека и программа будет «зависать».
РЕШЕНИЕ2: вместо attach использовать load с тем же результатом (кстати, благо это заодно, - объясните если не трудно разницу между этими методами, какой из них менее ресурсоёмкий?).
НЕДОСТАТКИ РЕШЕНИЯ2: те же, что и в решениии1.
ГИПОТЕЗА: а нет ли во Flash такой возможности, чтобы загрузить 400 mc в один, задать каждому новые свойства и после этого программно сделать аналог Ctrl+B (Break_Apart) над ними в теле главного mc, чтобы в стеке остался 1 mc вместо 401? А вдруг есть неописанная и непофиксенная возможность сохранения mc программно из прожектора в .swf (есть же save переменных в файл, хотя нигде не описано, или Key.isDown(2), например)?
ВОПРОС: поправьте меня если я высказал ошибочные предположения выше и подскажите пожалуйста оптимальное решение такой задачи (если таковое имеется вообще:-)).
Заранее благодарю, Ваш Акакий.


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

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