Показать сообщение отдельно
Старый 31.07.2012, 15:24
Dimanchik вне форума Посмотреть профиль Отправить личное сообщение для Dimanchik Найти все сообщения от Dimanchik
  № 1  
Ответить с цитированием
Dimanchik

Регистрация: Jul 2012
Сообщений: 1
По умолчанию Покадровая программная анимация

В сети куча материала объясняющая, как сделать программную анимацию с кодом в первом кадре. Но тогда в ролик содержит всего один кадр. Возникают проблемы с экспортом в секвенцию графических файлов. Грабберы справляются не очень хорошо. Теоретически, нужно каждый кадр загонять в Bitmap или ByteArray
Попробовал - но почему-то сохраняет в файлах белое поле.
Подскажите, что не так. Куски кода, местами убрано ненужное:

Код AS3:
for (var i:int; i<numberO; i++)
{
   mc = new ball();
   mc.name = "mc" + i;
   arr.push(mc);
   stage.addChild(mc);
}
 
then = getTimer();
now = then;
addEventListener(Event.ENTER_FRAME, enterFrameListener);
 
function enterFrameListener(e:Event):void
{
   then = now;
   now = getTimer();
   var elapsed:int = now - then;
   var numSeconds:Number = elapsed / 1000;
   var raw:BitmapData = new BitmapData(stage.stageWidth,stage.stageHeight);
   raw.draw(stage);
   var brr:ByteArray = PNGEncoder.encode(raw);
   var myFile:File = new File("E:/test" + now + ".png");
   var myFileStream:FileStream = new FileStream();
   myFileStream.open(myFile, FileMode.WRITE);
   myFileStream.writeBytes(brr, 0, brr.length);
}