LoginSignup
0
1

More than 5 years have passed since last update.

MC内のレイヤー全てを配分し空白レイヤーを削除する

Posted at

MC内にレイヤー1とかレイヤー2とかの連番が並んでいるのを見るのが嫌なので制作しました。
右クリックメニュー「レイヤーに配分」を使うと配置されているMC名やファイルネームが
レイヤーネームになり配置されるのでこちらを利用。配分後のレイヤーが残ってしまうので
空白レイヤーを削除。もともと空のレイヤーも削除されるのでスッキリします。

空白レイヤーの定義を、レイヤーのフレーム1になにも置かれていない事としているので
場合によって変更の必要があるかと思われます。

jsfl

//
// MC内のレイヤー全てを配分し空白レイヤーを削除する
//

var layers = fl.getDocumentDOM().getTimeline().layers;
//全ての非表示とロックを外す ガイドレイヤーは何もしない
for (var i = 0; i < layers.length; i++) {
    if(layers[i].layerType != "guide"){
        layers[i].locked = false;
        layers[i].visible = true;
    }
}

// すべて選択
fl.getDocumentDOM().selectAll();
// レイヤーに配分
fl.getDocumentDOM().distributeToLayers();

var afterLayers =fl.getDocumentDOM().getTimeline().layers;
var len=afterLayers.length-1;
//空白レイヤーを削除
for (var i=len; i>=0 ; i--) 
{
    //最初のフレームに何も配置されていないならレイヤーを削除する
    if(!afterLayers[i].frames[0].elements[0]){
        fl.trace("DeleteLayer = "+fl.getDocumentDOM().getTimeline().layers[i].name);
        fl.getDocumentDOM().getTimeline().deleteLayer(i);
    }
}
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1