チェンジセット 1290

差分発生行の前後
無視リスト:
コミット日時:
2008/09/07 01:14:20 (3 年前)
コミッタ:
yoropan
ログメッセージ:

ライブラリ内を一括処理するようにでけた

ファイル:

凡例:

変更無し
追加
削除
更新
コピー
移動
  • mxp/LetterspaceStaticText/letterspace.jsfl

    r1237 r1290  
    11var dom = fl.getDocumentDOM(); 
    2 var tl = dom.getTimeline() 
    3 var lib = dom.library; 
    4 var elts = tl.layers[tl.currentLayer].frames[tl.currentFrame].elements; 
     2var currLib = dom.library; 
    53var dialog = dom.xmlPanel(fl.configURI+"Commands/letterspace.xml"); 
    64var lsnum=Number(dialog.ls); 
    75var m_arr =[] 
    86        m_arr=dialog.mozi 
     7function init() { 
     8        var list = fl.getDocumentDOM().library.items  
     9                for ( var i in list ) {  
     10                var item = list[i];  
     11                //ライブラリの中のMCだけ判定 
     12                        if( item.itemType == "movie clip" ) {  
     13                        var itemTimeline = item.timeline; 
     14                                traverse(itemTimeline.layers, item.name); 
     15                        }  
     16                } 
     17} 
     18function traverse(layers, itemName) { 
     19        var layerLength = layers.length; 
     20        for (var i = 0; i < layerLength; i++) { 
     21                var layer = layers[i]; 
     22                var frames = layer.frames; 
     23                 
     24                var frameLength = frames.length; 
     25                for (var j = 0; j < frameLength; j++) { 
     26                        var frame = frames[j]; 
     27                        var element=frame.elements 
     28                         
     29                        var elemLength = element.length; 
     30                        for (var k = 0; k < elemLength; k++) { 
     31                                var ele=element[k]; 
     32                                 
     33                                if(ele.elementType=="text" && ele.textType=="static"){ 
     34                                        lsp(ele); 
     35                                } 
     36                                 
     37                        } 
    938 
    10          // 
    11 if (dialog.dismiss == "accept") { 
     39                } 
     40                 
     41        } 
     42         
     43
    1244 
    13  
    14         // 
    15         for (var x = 0; x < elts.length; x++) { 
    16                                         var elt = elts[x]; 
    17                                         //fl.trace("てきすとかどうか") 
    18                 if(dom.getElementProperty('textType') != 'static'){ 
    19                         //テキストでない場合はMCを開く 
    20                         if(elt.elementType !='text'&&elt.elementType=='instance'){ 
    21                         //fl.trace("MCを開いて処理") 
    22                         dom.enterEditMode('inPlace'); 
    23                         lsp(); 
    24                         dom.exitEditMode(); 
    25                                 } 
    26                 }else{ 
    27                                 lsp(); 
    28                                 //fl.trace("テキストなので処理") 
    29                         } 
    30         } 
    31 
    32 function lsp(){ 
    33                 var stg=dom.getTextString(); 
    34                 var arr=new Array(); 
    35                         //検索 
    36                         for(i=0;i<stg.length;i++){ 
    37                                 var txt=dom.getTextString(i, i+1); 
     45function lsp(ele){ 
     46                                var arr=new Array(); 
     47                                for(i=0;i<ele.length;i++){ 
     48                                //テキストを判定 
     49                                var txt=ele.getTextString(i, i+1); 
    3850                                        for(t=0;t<m_arr.length;t++){ 
    3951                                                                if(txt.indexOf(m_arr[t])!=-1){ 
    4052                                                                        arr.push(i); 
    41                                                                         //fl.trace(arr); 
    4253                                                                        } 
    4354                                        } 
     
    4657                                //取り出す 
    4758                        for(j =0; j<arr.length;j++){ 
    48                                 //fl.trace(arr[j]); 
    49                                  
    50                                         var num=Number(arr[j]); 
    51                                         //dom.setTextString("v",num+1); 
    52                                         dom.setTextSelection(num, num+1); 
    53  
    54                                         //カーニング 
    55                                         dom.setElementTextAttr("letterSpacing", lsnum); 
    56                          
    57                                 } 
     59                                var num=Number(arr[j]); 
     60                                //カーニング 
     61                                ele.setTextAttr("letterSpacing", lsnum,num,num+1); 
     62                        } 
    5863} 
     64if(dialog.dismiss == "accept"){ 
     65init(); 
     66}