actionScript получает данные из следующих кадров

Я пытаюсь экспортировать данные для анимации спрайтов. У меня есть несколько мувиклипов на сцене и ключевые кадры с разными позициями/углами для создания анимации. Когда я пытаюсь записать данные x, y в файл, я не могу получить данные за пределами первого кадра.

function testWrite():void {
    var fileRef:FileReference;
    var txt:String;
    var fr:int;

    txt = "";

    // 'Head' is the name one of MovieClips
    for (fr = 0; fr < 4; fr++) {
        txt += "frame: " + currentFrame + ", " + Head.x + "\n";
        nextFrame();
        Head.nextFrame();
    }

    fileRef = new FileReference();
    fileRef.save(txt, "testExport.txt");
}
testWrite();

Это функция, которую я использую для этого, но независимо от того, использую ли я nextFrame() или gotoAndStop(x), она не изменит кадр. И Head.x, и Head.currentFrame остаются прежними.

Кто-нибудь может мне с этим помочь?


person David Horáček    schedule 28.04.2017    source источник


Ответы (1)


Хорошо, я решил это.

var txt:String = "";
stop();

function write():void {
    txt += Head.x + "\n";
}

function writeOut(event:KeyboardEvent):void 
{ 
    var file:FileReference;
    file = new FileReference();
    file.save(txt, "testExport.txt");
}

function frame(e:Event):void {
    if (currentFrame <= 3) {
        write();
        nextFrame();
    }
}

this.addEventListener(Event.ENTER_FRAME, frame); 
stage.addEventListener(KeyboardEvent.KEY_DOWN, writeOut);
person David Horáček    schedule 29.04.2017