JSFL書いてみたメモ
Flashで作業してると、 同じ作業を何度となく繰り返す場面に出くわすんですが、 どうにかして回避したいなぁ。って思ってたところで JSFL ってものに遭遇。 どうやらJavaScriptで書けるFlashの機能拡張らしい。
で、色々調べながら書いてみたのがコレ。 berian や iaocc が以前に話題にしてた、 ライブラリの画像をグラフィックスでラップして、 さらにムービークリップにしてくれるJSFL。完全に 車輪 ですよ!!
/**
* ConvertToSymbol.jsfl
**/
(function ()
{
// ファイルが開かれてないとココでおしまい
if (!fl || !fl.getDocumentDOM()) return alert("ドキュメントオブジェクトが見つかりません。");
var DOC = fl.getDocumentDOM();
var LIB = DOC.library;
LIB.items.filter(function (element)
{
// Bitmapなライブラリ以外はココではじく
return element.itemType == 'bitmap' ? true : false;
})
.filter(function (element)
{
var newName = element.name.split(".")[0] + "_g";
// 既に定義されていれば除く
if (LIB.itemExists(newName)) return false;
// Graphicsを生成
LIB.addNewItem("graphic", newName);
// BitmapをGraphicsでラップする
LIB.editItem(newName);
LIB.addItemToDocument({x:0, y:0}, element.name);
// ポジションの補正
var rect = DOC.getSelectionRect();
DOC.setSelectionBounds({
left: 0,
top: 0,
right: rect.right - rect.left,
bottom: rect.bottom - rect.top
});
DOC.exitEditMode();
return true;
})
.filter(function (element)
{
var name = element.name.split(".")[0];
var gName = name + "_g";
var mcName = name + "_mc";
// 既に定義されていれば除く
if (LIB.itemExists(mcName)) return;
// MovieClipを生成
LIB.addNewItem("movie clip", mcName);
// GraphicsをMovieClipでラップする
LIB.editItem(mcName);
LIB.addItemToDocument({x:0, y:0}, gName);
// ポジションの補正
var rect = DOC.getSelectionRect();
DOC.setSelectionBounds({
left: 0,
top: 0,
right: rect.right - rect.left,
bottom: rect.bottom - rect.top
});
DOC.exitEditMode();
return true;
});
})();
// vim: filetype=javascript fenc=utf-8 bomb
とりあえず良い感じに出来た(と思う)。
Flashでの作業中に、メンドクサイって3回思ったら JSFL 作るようにしよう ![]()
- Posted at:
- 2008/04/25 00:49:17
- 4 Comments
- 0 TrackBacks
- Tags:
- Flash
- JavaScript
- Trackback:
- http://humming.via-kitchen.com/2008/04/25/jsfl-memo/trackback/
TrackBacks
まだ登録されていません。
Comments
berian
おぉ!さすがだ!!綺麗にまとまってる。
なるほど、filterねー。
filterって、最終的にtrueをreturnしたelementの配列が返るのかな。
nobu
>berian
JavaScriptって事でグニョグニョにしてみたよ
trueとして評価されるものを返すと次の処理に渡せるよー。
iaocc
ぉぉー!完成版ありがとうございますー
しみじみとソースを見てみると、こんなんなってるんだーへぇーという感じwwwデスw
まだまだ欲しいJSFLが色々あるので、つくってみたいので、
わからなくなったら教えてください><!
nobu
>iaocc
自分もまだまだ勉強中なので、
分からん事だらけでござるよー。
野良なJSFLの上手い管理方法を見つけないと、
家と会社の同期がメンドクサイっすなー。