Возможно ли в Flash CS4 "Экспортировать фильм" как последовательность PNG для фильмов с анимацией ActionScript? - PullRequest
3 голосов
/ 02 февраля 2010

Мне было интересно, есть ли способ использовать «Экспорт фильма» как «Последовательность PNG» для работы с фильмами, где объекты анимированы с помощью ActionScript. Подобный экспорт работает просто отлично для обычной анимации, но не работает для моего текущего проекта. По сути, я создаю изображения с использованием математики, и я хочу иметь возможность экспортировать результат в виде PNG для использования в других программах, таких как Photoshop; но так как изображения создаются с помощью ActionScript, экспорт просто показывает пустое изображение. Неужели я просто сделал снимок экрана с результатом и утомительно удалил все области, которые должны быть прозрачными, с помощью инструмента «Палочка»? Кто-нибудь, пожалуйста, скажите мне, что есть лучший способ; Спасибо!

Ответы [ 5 ]

4 голосов
/ 03 февраля 2010

Начиная с Flash CS3, вы можете экспортировать анимации / формы ActionScript как quicktime.

  1. Перейти к Файл> Экспорт фильма> Quicktime
  2. В Quicktime ExportВыбор настроек По истечении времени вместо Когда достигнут последний кадр .
  3. Галочка Игнорировать цвет сцены (генерировать альфа-канал) .

Вы должны иметь возможность импортировать фильм Quicktime в Photoshop Extended, который начиная с версии CS3 имеет временную шкалу ( Window> Animation ).В CS4 есть Видео Рабочая область, которая должна помочь.

Мне кажется, это самый простой способ.

Если вы хотите придерживаться большего количества кода, вы можете попробовать SimpleFLVWriter Ли Феларка (хотя он немного устарел, поэтому сначала протестируйте его) или превратите свой SWF-файл в приложение AIR и используйте PNGE-кодер из Adobe AS3CoreLib .

Не могли бы вы опубликовать свое видео на Vimeo и поделиться ссылкой, пожалуйста (я хочу видеть ^ _ ^)?

Goodluck, George

2 голосов
/ 31 января 2011

Только что выпустили приложение AIR для экспорта SWF-файла в последовательность PNG: http://swfrenderer.kurst.co.uk/ - надеюсь, это поможет ...

1 голос
/ 03 февраля 2010

Используйте класс Socket ActionScript. Сделайте снимок сцены (используя класс BitmapData) и отправьте его другому скрипту, работающему на вашем компьютере, через сокет, где сохранено изображение. Мне пришлось что-то вроде этого, используя Python, и он работал отлично. Для анимации вы можете не получить лучшую частоту кадров. Но это должно быть хорошо, если анимация не зависит от времени.

Пример того, как вы это сделаете (не проверено):

var sock:Socket = new Socket(yourIP, somePort);
var drawRect:Rectangle = new Rectangle(0, 0, 550, 400);
var bmp:BitmapData = new BitmapData(drawRect.width, drawRect.height, true, 0x00000000);
bmp.draw(stage, null, null, null, drawRect);
var pixels:ByteArray = bmp.getPixels(drawRect);
for each (var pixel in pixels) {
    sock.writeUnsignedInt(pixel);
}

Обратите внимание, что вам может понадобиться поместить последний кусок в событие "connect". Также обратите внимание, что я все еще перехожу на AS3, поэтому некоторые из них могут быть устаревшими.

1 голос
/ 03 февраля 2010

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

Я действительно не знаю, можно ли это сделать, и ваше решение для скриншота кажется единственным ...

0 голосов
/ 05 мая 2013

Вот бесплатный инструмент, очень хороший. http://swfrenderer.kurst.co.uk/

Может конвертировать любой SWF в последовательность PNG. ПРЕИМУЩЕСТВА:

  1. В методе "QuickTime" есть проблема, по умолчанию применяется "Несколько" с темным фоном.
  2. Вам не нужно иметь дело с внутренним файлом, например .mov.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...