animator kami membuat klip video yang sangat kompleks di Adobe Flash CS5, berisi 50+ lapisan, remaja gerak, dan remaja 3D. Sayangnya, dia menempatkan semua elemen 680 piksel terlalu jauh ke kanan dan 400 piksel terlalu jauh ke bawah.
Kami mencoba menemukan cara untuk memindahkan semua elemen di semua lapisan tanpa merusak animasinya. Kami mencoba skrip JSFL yang disebut "MoveRegpoint", tetapi skrip tersebut tidak menangani keyframe Motion Tween (berlian) dengan benar. Jadi sekarang saya mencoba menulis JSFL sendiri.
Bagaimana cara menentukan apakah suatu bingkai adalah Motion Tween dan apakah bingkai tersebut adalah bingkai utama? Lihat skrip saat ini:
// get the selected Element
var vElement = fl.getDocumentDOM().selection[0];
// get the Timeline of the Element
var vTimeline = vElement.libraryItem.timeline;
// loop over the Timeline's Layers
var vLayersLength = vTimeline.layers.length;
for (var i=0; i<vLayersLength; ++i) {
var vLayer = vTimeline.layers[i];
// loop over each Layer's Frames
var vFramesLength = vLayer.frames.length;
for (var j=0; j<vFramesLength; ++j) {
var vFrame = vLayer.frames[j];
if(vFrame.isMotionObject()) {
// DOES NOT WORK, startFrame is always 0
if(vFrame.startFrame == j) {}
}
}
}
Untuk lebih jelasnya: frame.startFrame selalu 0 karena Motion Tween dimulai pada frame 0. Ada berlian di frame 12, 27 dan 49 yang menentukan gerakan. Saya ingin tahu apakah suatu bingkai berisi berlian dan mengakses data di dalam berlian tersebut.
Paulus