Flash Proでタイムライン上に配置されたインスタンスの名前をクリップボードにコピーするJSFLを三種ご紹介します。
タイムライン上のインスタンスを外部ASファイルで操作する際などにご利用ください。
複数選択されたMCインスタンスの名前を配列形式でコピーする。
///////////////////////////////////////////////////
//
//Flashコマンド「クリップボードに選択中のインスタンス名を配列でコピー」
//
//@since 2009.10.07
//@author Masato Makino
//
///////////////////////////////////////////////////
var _doc=fl.getDocumentDOM();
var names ="[ ";
//選択中のアイテムの数
var docSel=_doc.selection;
var selLength=docSel.length;
var targets = new Array();
main();
function main(){
if(docSel[0]==undefined){
//何も選択されていない時はアラートのみ
alert("インスタンスが選択されていません。");
return;
}
for(i = 0; i < selLength; i++){
targets.push(docSel[i].name);
}
targets.sort();
for(var i=0 ; i<selLength ; i++){
names += targets[i];
if( i != selLength -1) {
names += ", "
}
}
names += " ];"
fl.clipCopyString(names);
}
複数選択されたMCインスタンスの名前をthis["name"]形式でコピーする。
///////////////////////////////////////////////////
//
//Flashコマンド「クリップボードに選択中のインスタンス名を this["name"] の書式でコピー」
//
//@since 2009.10.07
//@author Masato Makino
//
///////////////////////////////////////////////////
var _doc=fl.getDocumentDOM();
var names ="";
//選択中のアイテムの数
var docSel=_doc.selection;
var selLength=docSel.length;
var targets = new Array();
main();
function main(){
if(docSel[0]==undefined){
//何も選択されていない時はアラートのみ
alert("インスタンスが選択されていません。");
return;
}
for(i = 0; i < selLength; i++){
targets.push(docSel[i].name);
}
targets.sort();
for(var i=0 ; i<selLength ; i++){
names += " = this[\"";
names += targets[i];
names += "\"];\n"
}
fl.clipCopyString(names);
}
複数選択されたMCインスタンスの名前をメンバー変数宣言の形式でコピーする。
///////////////////////////////////////////////////
//
//Flashコマンド「クリップボードに選択中のインスタンス名を public var :MovieClip の書式でコピー」
//
//@since 2009.10.07
//@author Masato Makino
//
///////////////////////////////////////////////////
var _doc=fl.getDocumentDOM();
var names ="";
//選択中のアイテムの数
var docSel=_doc.selection;
var selLength=docSel.length;
var targets = new Array();
main();
function main(){
if(docSel[0]==undefined){
//何も選択されていない時はアラートのみ
alert("インスタンスが選択されていません。");
return;
}
for(i = 0; i < selLength; i++){
targets.push(docSel[i].name);
}
targets.sort();
for(var i=0 ; i<selLength ; i++){
names += "public var ";
names += targets[i];
names += ":MovieClip;\n"
}
fl.clipCopyString(names);
}