Цитата:
Сообщение от aliim
Мой подход не менее и не более "правильный" чем Ваш, он имеет право на существование и я его рекомендую на этом форуме, исходя из своего опыта.
|
исходя из ваших утверждений, опыта у Вас нет.
Цитата:
Сообщение от aliim
Экземпляр класса МувиКлип занимает в памяти примерно на 20 байт больше, чем Спрайт. Создайте тысяч 10 того и другого и сравните System.totalMemory (я сравнивал). Так что рассказы о том, что клип несет на себе огромный тяжелый функционал не соответствуют действительности.
|
зачем проводить такие дурацкие "примерные" тесты, если есть нормальный способ?

Код AS3:
trace( getSize( new MovieClip() ) ); // 452
trace( getSize( new Sprite() ) ); // 420
trace( getSize( new Bitmap() ) ); // 248
trace( getSize( new Shape() ) ); // 248
так мы получили разницу 32 байта.
Цитата:
Сообщение от aliim
Весь стандартный функционал Спрайтов и МувиКлипов, равно как и описание структуры заложено в плеере, а не в Вашем файле, так что никуда Вы его не притащите, даже если захотите. Если, например, таймлайна у клипа нет, его и в памяти нет, вся Ваша плата за использование МувиКлипа составит порядка указанных 20 байт.
Поскольку выделение памяти сильно зависит от внешних факторов, при запуске одного и того же файла несколько раз подряд Вы легко получите разброс в 5-10 Кб, даже без загрузки изображений, так что столь подчеркиваемой Вами разницы между МувиКлипом и Спрайтом в реальности Вы не заметите.
Теперь - зачем?
|
а зачем мне вообще создавать мувиклипы, если там нет таймлайнов? зачем шахтёру в шахте телескоп?
Цитата:
Сообщение от aliim
На практике Вам придется загружать картинки в МувиКлипы (созданные вручную и не Вами) с таймлайном и фреймами. Мне приходится.
|
сочувствую.
Цитата:
Сообщение от aliim
Гораздо лучше написать с самого начала легко расширяемый код (и пожертвовать парой байт), чем потом столкнуться с проблемой последующего сглаживания и переписывать его, удаляя все Ваши beginBitmapFill-ы и вводя Битмапы. Занимался этим сам, так что другим советую с самого начала Битмап.
|
ещё раз сочувствую. видимо с написанием расширяемого кода у Вас всё-таки не просто.
Цитата:
Сообщение от aliim
Зачем нужно клонирование вообще?
Затем, что когда Вы загружаете несколько картинок с помощью одного лоадера, beginBitmapFill, как впрочем и Битмар, использует ссылку на текущую БитмапДату лоадера. Так что при загрузке следующей картинки, предыдущая само собой перезапишется.
|
а Вы это проверяли?

или просто из "опыта" знаете?