预渲染as3动画

时间:2015-01-20 20:08:27

标签: actionscript-3

我需要预渲染动画,我正在通过as3中的代码创建动画。我想将_debugBmp的每一帧保存到* .png或* .bmp文件,或者创建精灵表。

这可能吗?

感谢您的回答。

public class PerlinNoise extends Sprite 
{
    // premenne pre perlin noise
    private var _baseX:Number = 45;
    private var _baseY:Number = 5;
    private var _numOctaves:uint = 3;
    private var _randomSeed:int = 50;
    private var _stitch:Boolean = true;
    private var _fractalNoise:Boolean = false;
    private var _channelOptions:uint = 1;
    private var _grayScale:Boolean = true;
    private var _offsets:Array = [];

    private var _perlinBitmapData : BitmapData;
    private var _debugBmp   : Bitmap;

    public function PerlinNoise() 
    {
        _perlinBitmapData = new BitmapData(275, 50, true);

        // oktavy perlin noisu
        for(var i:int = 0; i < _numOctaves;i++) _offsets[i] = new Point(0,0);

        _debugBmp = new Bitmap(_perlinBitmapData);
        addChild(_debugBmp);

        stage.addEventListener(Event.ENTER_FRAME, onEnterFrame);
    }

    private function onEnterFrame(e:Event):void
    {   
        // animacia perlin noisu
        _offsets[1]['x'] += 1; // 2
        _offsets[1]['y'] += 1/4;//1/4

        // aplikacia perlin noisu
        _perlinBitmapData.perlinNoise(_baseX, _baseY, _numOctaves, _randomSeed, _stitch, _fractalNoise, _channelOptions, _grayScale, _offsets);
    }
}

1 个答案:

答案 0 :(得分:0)

我建议您将代码放在Adobe AIR应用程序中,然后在onEnterFrame方法中创建每个图像后将BitMapData保存到文件中。一旦你拥有你的图像,你可以用它们制作一个spritesheet。