LoginSignup
4
3

More than 3 years have passed since last update.

原点を親MCにあわせる.jsfl

Last updated at Posted at 2012-12-26

選択しているシンボルの座標原点を、現在の階層の座標原点に合わせるJSFLです。

Illustratorからコピー&ペーストしてきたシンボルの原点を、一括でそろえる時に活躍します。

JSFL

/***
 * 選択されたオブジェクトの原点を、親MCの原点とあわせます。
 * @version 2009.09.25 タイムラインにまたがったシンボルの移動に対応
 * @@@BUILDINFO@@@ 原点を親MCにあわせる.jsfl !Version! Tue Feb 03 2009 11:45:38 GMT+0900
 * */
main();
function main() {
  fl.trace("");
  fl.trace("Move Origin .....");
  var doc = fl.getDocumentDOM();
  var lib = doc.library;
  var selectedClip = doc.selection;
  if (selectedClip.length) {
    var n = selectedClip.length;
    for (var i = 0; i < n; i++) {
      var currentClip = selectedClip[i];
      //現在の座標を記憶
      var tmpMatrix = currentClip.matrix;
      var tmpX = tmpMatrix.tx;
      var tmpY = tmpMatrix.ty;
      doc.selectNone();
      doc.selection = [currentClip];
      //クリップの中身を移動
      doc.enterEditMode("inPlace");
      var timeLine = doc.getTimeline();
      for (var j = 0; j < timeLine.frameCount; j++) {
        timeLine.currentFrame = j;
        doc.selectAll();
        if (doc.selection.length == 0) {
          continue;
        }
        var rect = doc.getSelectionRect();
        fl.getDocumentDOM().moveSelectionBy({ x: tmpX, y: tmpY });
        doc.selectNone();
      }
      doc.exitEditMode();
      //自分自身を変更
      doc.selectNone();
      doc.selection = [currentClip];
      doc.moveSelectionBy({ x: -tmpX, y: -tmpY });
      doc.setTransformationPoint({ x: 0, y: 0 });
    }
  }
  fl.trace("Command Complete.");
}
4
3
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
4
3