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

Dub_Alex 22.03.2006 13:56

Принцип перерисовки объектов
 
Вложений: 1
В приложении маленькая программа. Суть следующая: есть два квадрата (каждый находится в отдельном слое), когда наводишь мышь на синий квадрат, он растягивается, убираешь мышь - он сжимается.
Вопрос в следующем: когда синий квадрат растягивается (сжимается), зеленый квадрат при этом перерисовывается или нет? Если да, то можно эту перерисовку отменить? Если нельзя отменить, то можно указать координаты частички зеленого квадрата для перерисовки, на которую накладывается синий квадрат, а остальную часть не перерисовывать?

Homo Sapiens 22.03.2006 14:32

По идее не должен

KUZEN 22.03.2006 18:08

А помоему перерисовывается вся область флешки и если бы была возможность указывать области для перерисовки, было бы просто замечательно ...

Dub_Alex 23.03.2006 09:51

KUZEN, а если вместо квадратов "увесистая" картинка и через простое интернет-соединение все тормозит из-за постоянной перерисовки. Как быть?

Dub_Alex 23.03.2006 15:54

А есть ли какие-нибудь обходные пути? Т.е. даже если все перерисовывается постоянно, может есть какая-то оптимизация? Мне предлагали уменьшить картинку (это отпадает, уменьшать дальше некуда), сжать ее (я не понял как это делается, может кто-нибудь пояснит). Я писал уже несколько раз свой вопрос на форуме, но советы других пользователей мне помогли лишь частично. Вообще я делаю карту Российской Федерации. Очень похожая по смыслу карта есть на сайте Мегафона http://www.megafon.ru/main/zona/ (на данной странице нужно выбрать ссылку "Карты зоны присутствия 'Мегафон' в РФ"). У них все работает нормально, а меня тормозит, хотя карта у них довольно четко прорисована.

motor4ik 23.03.2006 16:26

перерисовывается все, причем даже если слоев много, ничего не видно, тормозить будет ужасно :-)

Dub_Alex 23.03.2006 16:50

ну а это все решаемо каким-то способом или нет? На мегафоне как-то ведь сделали? И еще: сжатие-это которое в меню file->publish settings на закладке flash галочка напротив compress movie что ли?

KUZEN 24.03.2006 00:27

Собственно соединение играет роль только при загрузке файла и тормозов от него не будет ... а про что именно ты говоришь на мегафоне, я там ничего не нашёл ?!

KUZEN 24.03.2006 00:28

Цитата:

Сообщение от motor4ik
перерисовывается все, причем даже если слоев много, ничего не видно, тормозить будет ужасно :-)

Поэтому нужно делать visible = false; либо удалять не нужные клипы когда они не нужны ...

Homo Sapiens 24.03.2006 01:03

Насколько я помню C++, там была есть функция MFC invalidateRect, которая помечает область окна программы недействительной и требующий перерисовки. Кроме того, в 8 Flash же можно подсветить перерисовываемые элементы. Так что вряд ли перерисовывается всё. Мне кажется, что основные затраты идут на поддержание в памяти объектов.

Homo Sapiens 24.03.2006 01:05

Я как-то делал тестовый мультик, где было много тяжёлых объектов (Фильтры, маски, прозрачность), но они находились вне экрана, то есть, по идее, не перерисовывались. С каждым кадром добавлялась новая копия того объекта и Flash тормозил всё сильнее и сильнее.

Dub_Alex 24.03.2006 10:16

Основу составляет картинка из CorelDraw, которую я через буфер перенес на flash. А если я нарисую эту картинку средствами flash (обведу контуры, залью области и т.д. а потом удалю оригинал и у меня останется довольно точная копия, нарисованная с помощью инструментов flash), ролик меньше будет весить или существенных изменений это не принесет?

KUZEN 24.03.2006 19:25

Лучше не через буфер , а через импорт ...

davgur 24.03.2006 22:31

я во флеше чайник но мб можно разбить большой клип и погружать по надобности?

Madasan 25.03.2006 15:16

В 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
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.