BitmapとShapeの扱い


ビットマップはタイムラインに置いておくと、パブリッシュ時にShapeに変換される(ただし、AS書き出ししていると、Bitmapになる)。というような話を前に書いてましたが、もうちょっと調べた話。

タイムラインに置いたShapeは隣接レイヤーにShapeがあると統合される。これは上記ビットマップのデータにも有効であり、AS書き出しをしていなければShapeに統合される。

したがって、レイヤー3つに

画像/画像/Shape

という感じでデータをタイムラインに置き、そのクリップ内で

trace(this.numChildren);

すると結果は

1

となる。

このとき、真ん中の画像をASに書き出しすると、

3

となる。

trace(this.getChildAt(0));
trace(this.getChildAt(1));
trace(this.getChildAt(2));

の結果は

[object Shape]
[object Bitmap]
[object Shape]

になる。

勝手にShapeが合成されない方法を編み出したらきっと便利かもしれない。今のところ一番手っ取り早そうなのはシンボルに変換することだろうか。スクリプトで書けばまったく問題にならない部分ではありますが。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です