Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 24.02.2008, 07:09
AlexeiSulga вне форума Посмотреть профиль Отправить личное сообщение для AlexeiSulga Найти все сообщения от AlexeiSulga
  № 1  
Ответить с цитированием
AlexeiSulga

Регистрация: Sep 2007
Сообщений: 43
По умолчанию Мувик дергается при масштабировании.

Приветствую всех,

После 2-х дней упорной работы возник вопрос. Имеется флеш сайт где желательно анимировать появление подстраниц - scale от 10 до 100% за 2 секунды. Сами страницы содержат компоненты, видео и т.п. Вообщем сомневаюсь насчёт простого mc._xscale

Решил попробовать bitmapdata. Создаю 2 мувика, первый прозрачный к нему применяю методы scaleTo Tween класса.
Первый мувик использую для получения x, y, width, height.


Второй мувик содержит в себе bitmap скопированный с подстраницы. После каждого обновления первого мувика, заново отрисовываю bitmap с подстраницы, только теперь с измененной matrix.

Проблема в том не получается достичь реально плавного движения. Полюбому какие-то мелкие дергания.

Подскажите как правильно подойти к решению этой задачи.
Вложения
Тип файла: rar bitmap_test5_working resampling3.rar (101.8 Кб, 63 просмотров)

Старый 25.02.2008, 13:21
Olegg вне форума Посмотреть профиль Найти все сообщения от Olegg
  № 2  
Ответить с цитированием
Olegg
Banned

Регистрация: Feb 2008
Сообщений: 63
попробуйте увеличить framerate

Старый 26.02.2008, 05:20
WindWalker вне форума Посмотреть профиль Отправить личное сообщение для WindWalker Найти все сообщения от WindWalker
  № 3  
Ответить с цитированием
WindWalker

Регистрация: Nov 2006
Сообщений: 223
Цитата:
Сообщение от AlexeiSulga
Второй мувик содержит в себе bitmap скопированный с подстраницы. После каждого обновления первого мувика, заново отрисовываю bitmap с подстраницы, только теперь с измененной matrix.
Отрисовка мувика на битмап с использованием матрицы - процесс нисколь не менее трудоёмкий, чем отрисовка мувика на экране.

Вот представим себе мувик, содержащий 1000 линий.
Не важно, какого он будет размера, даже если мы его сожмём в 1 пиксель, всё равно флеш будет рисовать все 1000 линий.
И если мы делаем анимацию масштабирования от 20% до 100%, то в каждом кадре будут рисоваться эти 1000 линий.

Когда рисуете мувик на битмап происходит всё то же самое: эти же 1000 линий умножается на матрицу и рисуются на битмапе.
Даже если будет нулевая матрица, всё равно флеш будет обрабатывать все линии.

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

На самом деле битмап надо использовать иначе:
нарисовать на нём мувик ОДИН РАЗ, присоеденить этот битмап в другой мувик опять же ОДИН РАЗ, а затем масштабировать мувик с битмапом.

Правда, в таком случае мы теряем динамику - битмап у нас будет статичным. Но зато выигрываем в скорости, так как масштабирование и отрисовка одного битмапа куда быстрее, чем множества мелких элементов.

Старый 26.02.2008, 05:43
AlexeiSulga вне форума Посмотреть профиль Отправить личное сообщение для AlexeiSulga Найти все сообщения от AlexeiSulga
  № 4  
Ответить с цитированием
AlexeiSulga

Регистрация: Sep 2007
Сообщений: 43
Цитата:
Сообщение от WindWalker
На самом деле битмап надо использовать иначе:
нарисовать на нём мувик ОДИН РАЗ, присоеденить этот битмап в другой мувик опять же ОДИН РАЗ, а затем масштабировать мувик с битмапом.
Так и реализовал. Вообще идея со вторым мувиком появилсь после того как обнаружил что, когда в конце анимации подменяю битмап реальным мувиком страницы, некоторые тексты прыгают на 1 пиксел. Это было вызвано тем что тип прорисовки текстовых полей был "Anti-alis for readability", надо ставить "Anti-aliаs for animation", в этом случае пропадает дергание в 1 пиксел.


Последний раз редактировалось AlexeiSulga; 26.02.2008 в 13:58.
Создать новую тему Ответ Часовой пояс GMT +4, время: 01:34.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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