![]() |
Принцип перерисовки объектов
Вложений: 1
В приложении маленькая программа. Суть следующая: есть два квадрата (каждый находится в отдельном слое), когда наводишь мышь на синий квадрат, он растягивается, убираешь мышь - он сжимается.
Вопрос в следующем: когда синий квадрат растягивается (сжимается), зеленый квадрат при этом перерисовывается или нет? Если да, то можно эту перерисовку отменить? Если нельзя отменить, то можно указать координаты частички зеленого квадрата для перерисовки, на которую накладывается синий квадрат, а остальную часть не перерисовывать? |
По идее не должен
|
А помоему перерисовывается вся область флешки и если бы была возможность указывать области для перерисовки, было бы просто замечательно ...
|
KUZEN, а если вместо квадратов "увесистая" картинка и через простое интернет-соединение все тормозит из-за постоянной перерисовки. Как быть?
|
А есть ли какие-нибудь обходные пути? Т.е. даже если все перерисовывается постоянно, может есть какая-то оптимизация? Мне предлагали уменьшить картинку (это отпадает, уменьшать дальше некуда), сжать ее (я не понял как это делается, может кто-нибудь пояснит). Я писал уже несколько раз свой вопрос на форуме, но советы других пользователей мне помогли лишь частично. Вообще я делаю карту Российской Федерации. Очень похожая по смыслу карта есть на сайте Мегафона http://www.megafon.ru/main/zona/ (на данной странице нужно выбрать ссылку "Карты зоны присутствия 'Мегафон' в РФ"). У них все работает нормально, а меня тормозит, хотя карта у них довольно четко прорисована.
|
перерисовывается все, причем даже если слоев много, ничего не видно, тормозить будет ужасно :-)
|
ну а это все решаемо каким-то способом или нет? На мегафоне как-то ведь сделали? И еще: сжатие-это которое в меню file->publish settings на закладке flash галочка напротив compress movie что ли?
|
Собственно соединение играет роль только при загрузке файла и тормозов от него не будет ... а про что именно ты говоришь на мегафоне, я там ничего не нашёл ?!
|
Цитата:
|
Насколько я помню C++, там была есть функция MFC invalidateRect, которая помечает область окна программы недействительной и требующий перерисовки. Кроме того, в 8 Flash же можно подсветить перерисовываемые элементы. Так что вряд ли перерисовывается всё. Мне кажется, что основные затраты идут на поддержание в памяти объектов.
|
Я как-то делал тестовый мультик, где было много тяжёлых объектов (Фильтры, маски, прозрачность), но они находились вне экрана, то есть, по идее, не перерисовывались. С каждым кадром добавлялась новая копия того объекта и Flash тормозил всё сильнее и сильнее.
|
Основу составляет картинка из CorelDraw, которую я через буфер перенес на flash. А если я нарисую эту картинку средствами flash (обведу контуры, залью области и т.д. а потом удалю оригинал и у меня останется довольно точная копия, нарисованная с помощью инструментов flash), ролик меньше будет весить или существенных изменений это не принесет?
|
Лучше не через буфер , а через импорт ...
|
я во флеше чайник но мб можно разбить большой клип и погружать по надобности?
|
В 8 флэше есть полезное св-во MovieClip.cacheAsBitmap ;)
если задать true, то объкт будет представлен как bitmap вместо vector, это заметно сокращает затраты ресурсов на перерисовку, а при изменении размера объекта, он просто создается заново вместо масштабирования. |
| Часовой пояс GMT +4, время: 13:37. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.