Почему вы хотите удалить ключевые кадры? Вы можете просто перейти к нужному ключевому кадру и сделать растровую копию из фрагмента ролика в этом кадре.
Далее следует небольшой утилитарный класс, который я создаю для создания растровых копий из объектов DisplayObject:
package{
import flash.display.DisplayObject;
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.geom.Rectangle;
import flash.geom.Point;
public final class Cropper{
public function Cropper():void{}
public static function crop(_x, _y, _w:Number, _h:Number, displayObject:DisplayObject):Bitmap
{
var cropArea:Rectangle = new Rectangle(_x, _y, _w, _h);
var croppedBitmap:Bitmap = new Bitmap(new BitmapData(_w, _h, true, 0x00000000));
var dispObjData:BitmapData = new BitmapData(displayObject.width, displayObject.height, true, 0x00000000);
dispObjData.draw(displayObject);
croppedBitmap.bitmapData.copyPixels(dispObjData, cropArea, new Point(0, 0), null, null, true);
return croppedBitmap;
}
}
}
И вы могли бы использовать его в цикле для итерации по массиву ключевых кадров и создания копий, например:
var arr:Array = new Array(1, 10, 20, 30, 40...);
for(var i:int = 0; i < arr.length; i++){
yourDisplayObject.gotoAndStop(arr[i]);
var cropPic:Bitmap = Cropper.crop(x, y, width, height, displayObjectToCopy);
}
скажи, работает ли он у тебя ...