Home > JSFL・JSF・JSX | Works > ステージにあるシェイプやグループ化されたものを、連番付きのシンボルに一括変換するJSFL

ステージにあるシェイプやグループ化されたものを、連番付きのシンボルに一括変換するJSFL


一昨日くらいでしたか、「ステージにあるシェイプやグループ化されたものを、連番付きのシンボルに一括変換するJSFLってないの?」とTLに流れていたので、自分の勉強がてら、それっぽいのを作ってみました。

で、作成しているときにハマッたことを、書いておきます。

同一フレーム内には、シェイプは一つが良さそう

DLしたflaファイル(CS3形式)とJSFLを試してもらうと分かると思いますが、ステージ上に置いてあるシェイプやテキストなどが、MovieClipシンボル(hoge_000_mcみたい)に連番付きで変換されます。

その際、同一フレーム内にシェイプを二つ置いていると、ちょっと変なことになります。

シェイプがそれぞれMovieClipシンボルに変換されるのではなく、二つのシェイプが一つのMovieClipシンボルに変換されてしまうんですね…

なので、このJSFLを使う場合は、同一フレーム内にはシェイプは一つにしておくといいと思います。

複数シェイプを配置する場合は、(サンプル通りに)グループ化しておくと問題なく使えます。

elementsに関して

for文の中のelementsの箇所なんですが、elements[i]なんじゃない? と思われた方もいらっしゃるかもしれません。

elementsの説明・その1

こんな感じで、シェイプが二つあったとします。

この状態で、elements[0]をconvertToSymbolで、シンボルに変換したとします。

elementsの説明・その2

すると、こんな感じになるかと思いますよね?

ところが、実際は…

elementsの説明・その3

このようになります。(シンボル化したものは、elementsの最後尾に移動し、残りがひとつずつ前に押し出される)

なので、for文が回っているうちは、常にelementsの先頭(0)を取得してあげると、まだシンボルに変換していないものを選択出来ます。

convertToSymbolした後は…

先の手順で要素を選択し、convertToSymbloを使って、シンボルに変換すると、その要素は選択されたままになっています。

選択を解除せずにfor文を回してしまうと、MovieClipが入れ子の状態になってしまうので、fl.getDocumentDOM().selectNone();を使って、選択を解除しています。

とりあえず作ったものなんで、使い勝手は悪いかと思いますが…

Comments:0

Comment Form
Remember personal info

Trackbacks:1

Trackback URL for this entry
http://flabaka.com/blog/wp-trackback.php?p=3089
Listed below are links to weblogs that reference
ステージにあるシェイプやグループ化されたものを、連番付きのシンボルに一括変換するJSFL from flabaka
pingback from memo.393 » Blog Archive » [JSFL]ステージにあるシェイプやグループ化されたものを、連番付きのシンボルに一括変換するJSFL 11-02-11 (金) 3:29

[…] そしたらflabakaさんが作ってくれた! ステージにあるシェイプやグループ化されたものを、連番付きのシンボルに一括変換するJSFL:flabaka […]

Home > JSFL・JSF・JSX | Works > ステージにあるシェイプやグループ化されたものを、連番付きのシンボルに一括変換するJSFL

Search
Feeds
Meta

flashDevelopスポンサー

Return to page top