デザイナから渡された .fla ファイルに「ラベルはついているが、stop() が書かれていない MovieClip」が大量にあった。これらの MovieClip をステージに配置した途端、アニメーションのループが始まってしまう。なんとしても、stop() を入れたい。
そこで、手作業で 1 つ 1 つに stop() を入れようとしたが、数えると 70 以上の MovieClip があった。時間も惜しいが、単純作業は精神的にきつい。そんなときこそ、JSFL の登場である。
script レイヤーを追加して、1 フレーム目に this.stop(); を書く JSFL
/** * scriptレイヤーを追加してthis.stop();を書く */ var items = fl.getDocumentDOM().library.getSelectedItems(); for (var i = 0; i < items.length; i++) { fl.getDocumentDOM().library.editItem(items[i].name); var timeline = fl.getDocumentDOM().getTimeline(); timeline.currentLayer = 1; timeline.addNewLayer("script"); timeline.layers[1].frames[0].actionScript = "this.stop();"; }
実行すると、もの凄く生産性が上がった気分になれる。