Last active
December 10, 2015 03:08
-
-
Save yurfuwa-chan/4372504 to your computer and use it in GitHub Desktop.
Flaファイル内のガイドレイヤを全部削除するJSFL
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var doc = fl.getDocumentDOM() | |
var lib = doc.library; | |
var n = 0; | |
document.timelines.forEach(function(timeline){ | |
removeGuildLayer(timeline) | |
}) | |
lib.items.forEach(function(item){ | |
removeGuildLayer(item) | |
}) | |
fl.trace("deleted "+n+" layers"); | |
function removeGuildLayer(item){ | |
if(item instanceof Timeline || (item instanceof SymbolItem && item.timeline)){ | |
var timeline = item.timeline || item | |
var layers = timeline.layers; | |
var delete_index; | |
/* | |
deleteLayerはひとつのindexしか処理できない | |
当然、deleteLayerされたあとのarrayは更新されないので、 | |
layersを再取得してもう一度走査処理をする必要がある。 | |
削除後のlayer構造を予想して一括走査する方法もあるけど今回は割愛。 | |
*/ | |
while(layers.some(function(layer,index){ | |
if(layer.layerType == "guide"){ | |
//モーションガイドは除外する | |
if(layers[index+1] && layers[index+1].layerType == "guided"){ | |
return false | |
} | |
delete_index = index; | |
return true | |
} | |
})){ | |
fl.trace(item.name+" : "+delete_index); | |
timeline.deleteLayer(delete_index); | |
layers = timeline.layers; | |
n++; | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment