確実に誰かが作ってると思うけど練習かねて書いてみた
JSFLめんどい
doc.getElement()とかあったら便利だと思うんだけどなー
ないっぽいなー
追記 2008.6.16
上のスクリプトだと、複数選択してたときとかにおかしなことになってた。
というかdoc.selectionのなかに選択したelementが入ってるから、それのプロパティ直接変更できたよ。ちゃんとドキュメント読まなきゃなー
ただ、これだとオブジェクトがシンボルになってれば基準点を基準に(0,0)に移動してくれるけど、直接書いたシェイプとかだと、基準点を勝手にオブジェクトの中心にしてしまう。
個人的にはオブジェクトの左上を(0,0)にしたいのでこんな感じにしてみた。
var doc = fl.getDocumentDOM();
if (doc.selection.length > 0) {
var x = doc.getElementProperty("x");
var y = doc.getElementProperty("y");
var w = doc.getElementProperty("width");
var h = doc.getElementProperty("height")
doc.moveSelectionBy({x:-x+w/2, y:-y+h/2});
}
JSFLめんどい
doc.getElement()とかあったら便利だと思うんだけどなー
ないっぽいなー
追記 2008.6.16
上のスクリプトだと、複数選択してたときとかにおかしなことになってた。
というかdoc.selectionのなかに選択したelementが入ってるから、それのプロパティ直接変更できたよ。ちゃんとドキュメント読まなきゃなー
var doc = fl.getDocumentDOM();
for (var i in doc.selection) {
doc.selection[i].x = 0;
doc.selection[i].y = 0;
}
こんな感じでもいけるっぽいただ、これだとオブジェクトがシンボルになってれば基準点を基準に(0,0)に移動してくれるけど、直接書いたシェイプとかだと、基準点を勝手にオブジェクトの中心にしてしまう。
個人的にはオブジェクトの左上を(0,0)にしたいのでこんな感じにしてみた。
var doc = fl.getDocumentDOM();
for (var i in doc.selection) {
if(doc.selection[i].elementType == "shape") {
doc.selection[i].x = 0 + doc.selection[i].width/2;
doc.selection[i].y = 0 + doc.selection[i].height/2;
} else {
doc.selection[i].x = 0;
doc.selection[i].y = 0;
}
}



