นักสร้างแอนิเมชันของเราสร้างคลิปภาพยนตร์ที่ซับซ้อนมากใน Adobe Flash CS5 ซึ่งมีเลเยอร์มากกว่า 50 เลเยอร์, Motion Tweens และ 3D Tweens น่าเสียดายที่เธอวางองค์ประกอบทั้งหมดไว้ทางด้านขวามากเกินไป 680 พิกเซล และอยู่ด้านล่างมากเกินไป 400 พิกเซล
เรากำลังพยายามค้นหาวิธีย้ายองค์ประกอบทั้งหมดในทุกเลเยอร์โดยไม่ทำให้แอนิเมชั่นเสียหาย เราลองใช้สคริปต์ JSFL ชื่อ "MoveRegpoint" แต่ไม่สามารถจัดการคีย์เฟรม Motion Tween (เพชร) ได้อย่างถูกต้อง ตอนนี้ฉันกำลังพยายามเขียน JSFL ด้วยตัวเอง
ฉันจะทราบได้อย่างไรว่าเฟรมเป็น Motion Tween และเฟรมนั้นเป็นคีย์เฟรมหรือไม่ ดูสคริปต์ปัจจุบัน:
// 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) {}
}
}
}
เพื่อให้ชัดเจน: frame.startFrame จะเป็น 0 เสมอ เนื่องจาก Motion Tween เริ่มต้นที่เฟรม 0 มีเพชรอยู่ที่เฟรม 12, 27 และ 49 ที่กำหนดการเคลื่อนไหว ฉันต้องการทราบว่ากรอบมีเพชรและเข้าถึงข้อมูลในเพชรเหล่านี้หรือไม่
พอล