PDA

Volledige versie bekijken : van 24 naar 12 fps


U.P!
%Europe/Berlin %896 %2011, 22:30
Weet iemand of er een snelle manier is (wellicht component) om een flashanimatie die op 24 frames per seconde is gemaakt naar 12 frames per seconde te krijgen zonder actionscript te gebruiken.

Hoe ik nu bezig ben:
Ik ga naar beeldje 2, ik druk op shift+F5 (er verdwijnt een keyframe). Hierna ga ik naar beeldje 4 en ik druk wederom op Shift+F5, hierna ga ik weer 2 beeldjes en doe hetzelfde dit doe ik net zolang tot ik alle frames gehad heb.


Aangezien de film waar ik nu mee bezig ben vrij lang zijn zou het fijn zijn wanneer dit automatisch zou kunnen. Dus de computer kijkt naar de even framenummers en die verwijdert hij. Weet iemand of dit mogelijk is of dat er wellicht een component is die zoiets doet?

Dauntless
%Europe/Berlin %933 %2011, 23:23
Hey UP!

Ik heb even een klein JSFL scriptje gemaakt:
var doc = fl.getDocumentDOM();
var tl = doc.getTimeline();
var trace = fl.outputPanel.trace;
var frames = tl.getSelectedFrames();

tl.currentLayer = frames[0];
for(var i = frames[1] + 1; i<=frames[2]/2; i++)
{
tl.removeFrames(i);
}

- Sla op als 'mijncommando.jsfl'
- Selecteer een hoop frames op 1 layer
- Command -> Run Command -> Selecteer .jsfl

Hij werkt nu enkel op 1 layer. Als je enkele honderden layers hebt of zo kan ik het wel voor je aanpassen.

Ps: Ik neem geen verantwoordelijkheid voor dit scriptje, dus eerst saven he ;)

U.P!
%Europe/Berlin %836 %2011, 21:04
Wow, Dauntless je bent GEWELDIG!!!
Dit scheelt echt enorm veel tijd.

Mocht je het commando kunnen schrijven voor meerdere layers dan zou dat erg fijn zijn.

Dauntless
%Europe/Berlin %936 %2011, 23:28
Deze lijkt te werken na een paar kleine tests, maar nog eens: op voorhand saven en achteraf controleren ;)
var doc = fl.getDocumentDOM();
var tl = doc.getTimeline();
var trace = fl.outputPanel.trace;
var frames = tl.getSelectedFrames();


for(var j = 0; j<=frames.length; j+=3)
{
//trace("Switching to layer: " + j);
tl.currentLayer = frames[j];
//trace("Starting from: " + frames[1]);
for(var i = frames[j+1] + 1; i<=frames[j+2]/2; i++)
{
//trace("removing frame " + i);
tl.removeFrames(i);
}
//trace(frames);
}

U.P!
%Europe/Berlin %573 %2011, 14:46
Wow, het werkt!!!!!
Je bent meer dan geweldig Dauntless!!