LoginSignup
1
1

More than 3 years have passed since last update.

選択されたオブジェクトの中に位置を保持したままクリップボードの内容をペースト.jsfl

Last updated at Posted at 2012-12-26

クリップボードに格納されているインスタンスを、現在選択されているインスタンスの中に位置を保持したままペーストするJSFLです。

使用手順

  1. 階層を移動したいインスタンスを、コピーまたはカットします。
  2. 手順1のインスタンスを格納したいMCをステージ上で選択します。
  3. コマンドを実行すると、手順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.");
}
1
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
1
1