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

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

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

Регистрация: Mar 2010
Сообщений: 223
По умолчанию Использование gif анимаций.

Никогда до этого не задавался этим вопросом, но можно ли из кода как-нибудь юзать анимированные gif-ки во flash?

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

блогер
Регистрация: Feb 2010
Адрес: MSK
Сообщений: 859
Записей в блоге: 3
Отправить сообщение для Genzo с помощью ICQ Отправить сообщение для Genzo с помощью Skype™
https://github.com/audreyt/as3gif
__________________
Gamedev != Gaming (http://twitter.com/#!/GenzoDev). Don't forget to [+] if it works.

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

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Моя барахолка
GIFLoaderAdv работает достаточно точно как flash.display.Loader. Т.е. его API не должно сильно напрягать.
В параметры конструктора входят frameRate (uint) и smooth (Boolean). Если задан frameRate, то будут использованы оригинальные тайминги gif скорректированные под этот фреймрейт. Отличие от аналогов - очень высокая скорость декодирования, т.к. используется декодер самого FP.

Код AS3:
const loader:Loader = new GIFLoaderAdv(super.stage.frameRate);
super.addChild(loader);
const li:LoaderInfo = loader.contentLoaderInfo;
li.addEventListener(Event.INIT,				this.handler_init);
li.addEventListener(Event.OPEN,				this.handler_open);
li.addEventListener(Event.COMPLETE,			this.handler_complete);
li.addEventListener(ProgressEvent.PROGRESS,	this.handler_progress);
li.addEventListener(IOErrorEvent.IO_ERROR,	this.handler_error);
 
loader.load(new URLRequest('http://www.gamesetwatch.com/barkbarkbark.gif') );
Известные баги: некоторые виды гифок бьются. Руки никак не доходят довести до ума.

И еще: loader.content - это мувиклип, пакет и класс которого можно задать через loader.qname (Qname). Т.е. можно в любой момент просто инстанцировать очередной экземпляр.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.


Последний раз редактировалось dimarik; 04.10.2011 в 13:11.
Старый 04.10.2011, 13:26
cpu вне форума Посмотреть профиль Отправить личное сообщение для cpu Найти все сообщения от cpu
  № 4  
Ответить с цитированием
cpu

Регистрация: Mar 2010
Сообщений: 223
Понял...Спасибо..Все сводится к тому что все равно анимировать через код.. Просто была маленькая надежда на использование gif анимаций как есть...), без таймеров и ентерфреймов..

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

модератор форума
Регистрация: Sep 2003
Адрес: Москва
Сообщений: 4,630
Записей в блоге: 20
Кхм. Вы меня обижаете. По моему методу получаете обычный мувиклип. Никаких таймеров и энтерфреймов.
__________________
Воспитан в TimeZero. Работаю в Mail.ru.

Старый 04.10.2011, 16:30
cpu вне форума Посмотреть профиль Отправить личное сообщение для cpu Найти все сообщения от cpu
  № 6  
Ответить с цитированием
cpu

Регистрация: Mar 2010
Сообщений: 223
Да нет..здесь наверно просто первопричина была не понятна.. Причина не в том, что есть готовые гифки, которые надо использовать... А интересно было попробовать на мелких анимациях создать гифки, и использовать (было предположение о меньшей нагрузки на процессор).. А так какая разница, гифки превращать в мувиклипы или вместо гифок нарисовать мувиклипы..)

Старый 04.10.2011, 16:46
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 7  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Ну при выводе на экран растр кушает меньше ЦП, но больше памяти. Так что нагрузка должна снижаться
__________________
...вселенская грусть

Старый 07.10.2011, 10:25
Андрей911 вне форума Посмотреть профиль Отправить личное сообщение для Андрей911 Найти все сообщения от Андрей911
  № 8  
Ответить с цитированием
Андрей911
 
Аватар для Андрей911

Регистрация: Jun 2011
Сообщений: 127
А есть что нибудь похожее для того чтобы наоборот создавать Gif из объектов на сцене? Задать частоту кадров, нашлепать несколько снимков и сохранить в Gif.

Старый 07.10.2011, 10:56
Genzo вне форума Посмотреть профиль Отправить личное сообщение для Genzo Посетить домашнюю страницу Genzo Найти все сообщения от Genzo
  № 9  
Ответить с цитированием
Genzo
 
Аватар для Genzo

блогер
Регистрация: Feb 2010
Адрес: MSK
Сообщений: 859
Записей в блоге: 3
Отправить сообщение для Genzo с помощью ICQ Отправить сообщение для Genzo с помощью Skype™
ну вот же я вам уже кидал ссылку , смотреть надо

https://github.com/audreyt/as3gif/bl.../GIFEncoder.as

Код AS3:
/**
* The addFrame method takes an incoming BitmapData object to create each frames
* @param
* BitmapData object to be treated as a GIF's frame
*/
 
public function addFrame(im:BitmapData):Boolean
{
}
__________________
Gamedev != Gaming (http://twitter.com/#!/GenzoDev). Don't forget to [+] if it works.

Старый 25.03.2012, 22:43
Sylon вне форума Посмотреть профиль Отправить личное сообщение для Sylon Найти все сообщения от Sylon
  № 10  
Ответить с цитированием
Sylon

Регистрация: Nov 2009
Сообщений: 16
А есть ли этому https://github.com/audreyt/as3gif/bl.../GIFEncoder.as какая-либо замена? Проблема в следующем: нужен кодер, который будет создавать прозрачность непосредственно из альфа-канала. Анимированный вариант не нужен. В принципе, реально сделать такое самому, но уж больно муторно разбираться, и потом будет мучительно жаль потерянного времени, поскольку такое уже наверняка есть готовое.

Добавлено через 14 часов 59 минут
В итоге готовый так и не нашел, пришлось делать самому. Оказалось достаточно просто. Всё пучком, остальному функционалу не мешает. Перед добавлением кадра можно указать пороговое значение по альфа, ниже которого пикселы будут прозрачными. Единственное ограничение - нельзя для разных кадров определять прозрачность по разному. Если используется прозрачность по альфа - то обязательно для всех кадров в анимированной гифке, хотя пороговое значение для каждого кадра можно задавать своё.

Если кому нужно - выложу.

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

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

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


 


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


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