Question
使用jsfl控制图层父级旋转带动子级旋转
我有一个问题,在doc舞台中,可以控制父级的旋转属性,从而带动子级旋转。这样我可以将一个模板的动作拷贝到其他模型中。但是我用jsfl控制模板父级图层的旋转属性的时候,子级并不会跟着移动,请问如何解决这个问题?
function test2(){
// an.getDocumentDOM().getTimeline().currentLayer=2;
var library = an.getDocumentDOM().library;
var sourceModel = library.items[library.findItemIndex("sourceModel")];
var timeline = sourceModel.timeline;
//整个对象数组,保存 帧, 名字, 对象的属性(旋转,缩放,等等) 帧,还是图层? 一个帧一个动作, 帧级别吧
var propertyArr = [];
var layers = timeline.layers;
var keyFrames = getKeyFrames(layers[0]);
keyFrames.forEach(function (num){
if (num==0){
return
}
var eleDataArr=[];
for (var i = 0; i < layers.length; i++) {
var layerName = layers[i].name;
var rotation = layers[i].frames[num].elements[0].rotation;
var eleData = {layerName:layerName,rotation:Math.floor(rotation)};
// fl.trace("fram " +num+ " mydata.layerName " + layerName+ " " + rotation);
eleDataArr.push(eleData);
}
propertyArr.push({keyNum:num,data:eleDataArr});
})
var copySymblo = library.items[library.findItemIndex("sourceModel 复制")];
library.editItem(copySymblo.name);
var doc = an.getDocumentDOM();
var timeline1 = an.getDocumentDOM().getTimeline();
keyFrames.forEach(function (num){
if (num==0){
return
}
for (var i = 0; i < timeline1.layers.length; i++) {
timeline1.setSelectedLayers(i);
timeline1.setSelectedFrames(num,num+1);
timeline1.convertToKeyframes();
}
})
keyFrames.sort(function (a,b){
return a-b;
});
keyFrames.forEach(function (num){
if (num==0){
return
}
for (var i = 0; i < timeline1.layers.length; i++) {
timeline1.setSelectedLayers(i);
timeline1.setSelectedFrames(num,num+1);
propertyArr.forEach(function (property){
if (property.keyNum===num){
property.data.forEach(function (mydata){
// if (timeline1.layers[i].name.indexOf("大")<0){
// fl.trace(" you ==========" +timeline1.layers[i].name );
// return;
// }
if (mydata.layerName===timeline1.layers[i].name){
if (mydata.rotation===null || mydata.rotation==0 || isNaN(mydata.rotation)){
return;
}
fl.trace("mydata.layerName " + mydata.layerName+ " " + parseFloat(mydata.rotation));
// doc.selection[0].rotation=parseFloat(mydata.rotation);
an.getDocumentDOM().rotateSelection(mydata.rotation);
}
})
}
})
}
})
}