クリップボードに格納されているインスタンスを、現在選択されているインスタンスの中に位置を保持したままペーストするJSFLです。
使用手順
- 階層を移動したいインスタンスを、コピーまたはカットします。
- 手順1のインスタンスを格納したいMCをステージ上で選択します。
- コマンドを実行すると、手順2で選択されたMCの中に手順1のインスタンスが位置を保持したままペーストされます。
「同じMCの階層に配置したけれど、やっぱりこのMCの中の方が良かった!」なんて場合に重宝するコマンドです。
jsfl
/***
* 選択されたオブジェクトの中に、位置を保持したままクリップボードの内容をペーストします。
*
* @since 2009.09.25
* @author m_makino
*/
main();
function main() {
fl.trace("");
fl.trace("Paste object keeping position in selected MovieClip .....");
var doc = fl.getDocumentDOM();
var lib = doc.library;
var selectedClip = doc.selection;
if (selectedClip.length != 1) {
alert("複数のシンボルにはペーストできません");
return;
}
var n = selectedClip.length;
for (var i = 0; i < n; i++) {
//現在の座標を記憶
var tmpMatrix = doc.selection[0].matrix;
var tmpX = tmpMatrix.tx;
var tmpY = tmpMatrix.ty;
doc.enterEditMode("inPlace"); //編集開始
//レイヤーを追加
var timeline = doc.getTimeline();
timeline.addNewLayer("pasted objects by command", "normal");
//ペースト
doc.clipPaste(true); //位置を保持したままペースト
doc.moveSelectionBy({ x: -tmpX, y: -tmpY }); //ペーストした内容を移動
doc.exitEditMode(); //編集終了
}
fl.trace("Command Complete.");
}