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

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

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

Регистрация: Feb 2009
Сообщений: 23
По умолчанию Много графики для 2Д рендера

Всем привет!
Хочу наваять к игре 2д рендер на АС3, который будет брать BitmapData и рисовать на экран. Потому что по-обычному через gotoAndPlay медленно.
Но есть одно НО... как справиться с кучей .png графики? Есть монстр у которого 4 анимации(walk, die, attack1 и attack2)
в каждой анимации 25-30 кадров, итого 100-120 картинок. Монстр, конечно, не один, поэтому картинок куда больше.

Есть 2 варианта:
- вручную импортировать кучу картинок в библиотеку, ставить всем галочку export for ActionScript, придумывать уникальное имя.
Минус в том, что это долго... может можно как-то заставить флеш автоматически экспортировать картинки для АС?
- юзать [Embed], не знаю что из этого выйдет, но тут хотя бы не нужно нажимать кучу кнопок и можно написать кодогенератор на Цпп.

Может можно ещё как-то? Как можно облегчить процесс управления всей этой графикой, чтобы потом не запутаться, когда её станет ещё больше?

Старый 31.03.2009, 19:50
mre вне форума Посмотреть профиль Отправить личное сообщение для mre Посетить домашнюю страницу mre Найти все сообщения от mre
  № 2  
Ответить с цитированием
mre
 
Аватар для mre

Регистрация: Jul 2007
Адрес: Москва
Сообщений: 996
Не думаю, что будет быстрее, чем gotoAndPlay.
__________________
Griver

Старый 31.03.2009, 19:50
dimarik вне форума Посмотреть профиль Отправить личное сообщение для dimarik Найти все сообщения от dimarik
  № 3  
Ответить с цитированием
dimarik
.
 
Аватар для dimarik

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Отдельная библиотека .swf с битмапами. Для импорта картинок и галочек export for ActionScript использовать jsfl скрипт.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 31.03.2009, 20:02
Dimonte вне форума Посмотреть профиль Отправить личное сообщение для Dimonte Найти все сообщения от Dimonte
  № 4  
Ответить с цитированием
Dimonte

Регистрация: Jun 2008
Сообщений: 51
У вас что, каждый кадр анимации - отдельная картинка? Если да, то крайне рекомендую их собрать в спрайтмапы и рисовать методом сopyPixels нужные кадры на вашу BitmapData. Такой метод точно быстрее анимации через gotoAndPlay.

Старый 31.03.2009, 20:19
_dm вне форума Посмотреть профиль Отправить личное сообщение для _dm Найти все сообщения от _dm
  № 5  
Ответить с цитированием
_dm

Регистрация: Feb 2009
Сообщений: 23
Цитата:
Сообщение от mre Посмотреть сообщение
Не думаю, что будет быстрее, чем gotoAndPlay.
Сам сравни Вот тут внизу страницы флешка с разными способами отрисовки.

Цитата:
Сообщение от dimarik
Для импорта картинок и галочек export for ActionScript использовать jsfl скрипт.
Можно подробнее? Как его написать? Может линк какой-нить полезный есть?

Цитата:
Сообщение от Dimonte
У вас что, каждый кадр анимации - отдельная картинка? Если да, то крайне рекомендую их собрать в спрайтмапы и рисовать методом сopyPixels нужные кадры на вашу BitmapData. Такой метод точно быстрее анимации через gotoAndPlay.
Если собирать в атласы файлов будет меньше, надо будет попробовать, вот только они огромные могут выйти

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

Старый 31.03.2009, 20:26
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 6  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
Dimonte, с чего Вы взяли?

Старый 31.03.2009, 20:35
Dimonte вне форума Посмотреть профиль Отправить личное сообщение для Dimonte Найти все сообщения от Dimonte
  № 7  
Ответить с цитированием
Dimonte

Регистрация: Jun 2008
Сообщений: 51
BlooDHounD, с чего я взял что?

Работа с BitmapData точно быстрее, чем отрисовка DisplayObject'ов силами векторного рендерера плеера, по той же ссылке на 8bitrocket видно. Чем больше объектов на экране, тем быстрее.

Собирать же отдельные картинки кадров в спрайтмапы, я считаю, просто удобнее. Анимация в любом случае будет храниться в памяти, так что ее использование будет всегда одинаковым.

Доступ же к области BitmapData через простое математическое выражение по-моему быстрее происходит, чем доступ к, допустим, массиву с кадрами анимации в качестве элементов.

Старый 31.03.2009, 20:38
BlooDHounD вне форума Посмотреть профиль Отправить личное сообщение для BlooDHounD Посетить домашнюю страницу BlooDHounD Найти все сообщения от BlooDHounD
  № 8  
Ответить с цитированием
BlooDHounD
стервочка (я мужик)
 
Аватар для BlooDHounD

блогер
Регистрация: Mar 2004
Адрес: Борисов
Сообщений: 3,161
Записей в блоге: 22
Сказано, что там тоже битмапки, а не вектор. + там не проведено тестов, где перерисовывается, только ~30 области экрана. там тесты с перерисовкой всего экрана.

Старый 31.03.2009, 20:54
Dimonte вне форума Посмотреть профиль Отправить личное сообщение для Dimonte Найти все сообщения от Dimonte
  № 9  
Ответить с цитированием
Dimonte

Регистрация: Jun 2008
Сообщений: 51
BlooDHounD, я, честно говоря, не совсем понимаю, к чему вы клоните.

Выдернуто из текста статьи по ссылке:
Цитата:
Model # 4: Animate with GAS. Output to individual sprites.
...
I built a MovieClip in the library with all 8 frames and a stop on each frame. I copied the Bitmaps from my sprite sheet to individual MovieClips and added one to each frame.
Это вот отрисовка изначально Bitmap-объектов силами базового рендерера флеш плеера. Как видно из статьи, она и дает самые худшие результаты.

Если я правильно понял автора темы, у него ситуация точно такая же, как и у автора статьи. Уже есть битмапы со всей графикой, и их надо быстро рисовать. Для этого copyPixels быстрее.

Насчет перерисовки части экрана, да, в статье таких тестов нет, тем не менее, если есть какой-то анимированный или хотя бы просто движущийся фон, то перерисовывать придется всю картинку все равно.

Старый 31.03.2009, 21:01
_dm вне форума Посмотреть профиль Отправить личное сообщение для _dm Найти все сообщения от _dm
  № 10  
Ответить с цитированием
_dm

Регистрация: Feb 2009
Сообщений: 23
Цитата:
Уже есть битмапы со всей графикой, и их надо быстро рисовать.
Ага, так и есть.

З.Ы. кто-нибудь знает хороший утиль для создания атласов из .png? А то я что-то не могу ничо найти

Правка: нашел прогу для склейки, в движке HGE есть


Последний раз редактировалось _dm; 31.03.2009 в 21:04.
Создать новую тему Ответ Часовой пояс GMT +4, время: 20:13.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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