PlaceObject3 タグは、PlaceObject2 タグの機能を拡張したものです。 PlaceObject3 では、次の機能が新しく追加されました。
Add | Layer |
Alpha | Lighten |
Darken | Overlay |
Difference | Multiply |
Erase | Screen |
Hardlight | Subtract |
Invert |
Bevel | Drop shadow |
Blur | Glow |
Color matrix | Gradient bevel |
Convolution | Gradient glow |
SWF 8 以降のバージョンで使用できます。
フィールド | 型 | コメント |
Header | RECORDHEADER | タグタイプ = 70 |
PlaceFlagHasClipActions | UB[1] |
SWF 5 以降: クリップアクション有り それ以外の場合、常に 0 |
PlaceFlagHasClipDepth | UB[1] | ClipDepth 有り |
PlaceFlagHasName | UB[1] | Name 有り |
PlaceFlagHasRatio | UB[1] | Ratio 有り |
PlaceFlagHasColorTransform | UB[1] | ColorTransform 有り |
PlaceFlagHasMatrix | UB[1] | Matrix 有り |
PlaceFlagHasCharacter | UB[1] | キャラクタの配置 |
PlaceFlagMove | UB[1] | キャラクタの移動を定義 |
Reserved | UB[3] | 常に 0 |
PlaceFlagHasImage | UB[1] | 配置する Bitmap がクラス名かキャラクタ ID を指定する時に 1 にする。 PlaceFlagHasClassName が ClassName を使う時もしくは、 PlaceFlagHasCharacter がキャラクタ ID を使う時 |
PlaceFlagHasClassName | UB[1] | 配置するオブジェクトがクラス名を使う |
PlaceFlagHasCacheAsBitmap | UB[1] | BitmapCache を使う |
PlaceFlagHasBlendMode | UB[1] | ブレンドモード使用 |
PlaceFlagHasFilterList | UB[1] | フィルタリスト使用 |
Depth | UI16 | キャラクタの深さ |
ClassName |
If PlaceFlagHasClassName or (PlaceFlagHasImage and PlaceFlagHasCharacter), String |
配置するクラスの名前 |
CharacterId | If PlaceFlagHasCharacter, UI16 | 配置するキャラクタの ID |
Matrix | If PlaceFlagHasMatrix, MATRIX | 変形行列データ |
ColorTransform | If PlaceFlagHasColorTransform, CXFORMWITHALPHA | 色変換データ |
Ratio | If PlaceFlagHasRatio, UI16 | |
Name | If PlaceFlagHasName, STRING | キャラクタの名前 |
ClipDepth | If PlaceFlagHasClipDepth, UI16 | ClipDepth (クリッピングレイヤ参照) |
SurfaceFilterList | If PlaceFlagHasFilterList, FILTERLIST | オブジェクトに適用するフィルタのリスト |
BlendMode | If PlaceFlagHasBlendMode, UI8 |
0 or 1 = normal 2 = layer 3 = multiply 4 = screen 5 = lighten 6 = darken 7 = difference 8 = add 9 = subtract 10 = invert 11 = alpha 12 = erase 13 = overlay 14 = hardlight 15 ~ 255 は予約済み |
BitmapCache | If PlaceFlagHasCacheAsBitmap, UI8 |
0 = ビットマップキャッシュ無効 1 ~ 255 = ビットマップキャッシュ有効 |
ClipActions | If PlaceFlagHasClipActions, CLIPACTIONS | SWF 5 以降: クリップアクションのデータ |
フィールド | 型 | コメント |
NumberOfFilters | UI8 | フィルタの数 |
Filter | FILTER[NumberOfFilters] | フィルタのリスト |
フィールド | 型 | コメント |
FilterID | UI8 |
0 = DropShadowFilter 1 = BlurFilter 2 = GlowFilter 3 = BevelFilter 4 = GradientGlowFilter 5 = ConvolutionFilter 6 = ColorMatrixFilter 7 = GradientBevelFilter |
DropShadowFilter | If FilterID = 0, DROPSHADOWFILTER | ドロップシャドウフィルター |
BlurFilter | If FilterID = 1, BLURFILTER | ブラーフィルター |
GlowFilter | If FilterID = 2, GLOWFILTER | グローフィルター |
BevelFilter | If FilterID = 3, BEVELFILTER | ベベルフィルター |
GradientGlowFilter | If FilterID = 4, GRADIENTGLOWFILTER | グラデーショングローフィルター |
ConvolutionFilter | If FilterID = 5, CONVOLUTIONFILTER | 畳み込みフィルター |
ColorMatrixFilter | If FilterID = 6, COLORMATRIXFILTER | カラーマトリックスフィルター |
GradientBevelFilter | If FilterID = 7, GRADIENTBEVELFILTER | グラデーションベベルフィルター |
カラーマトリックスフィルターは、表示リスト内のオブジェクトに対して色変換を適用します。 表示リストオブジェクトの、RGBA 入力ピクセルに対して次の方法で計算されます。
結果の RGBA ピクセルは飽和演算が施されます。 行列の値は、行ごとに上から下へ、各行は左から右へ向かって保存されます。 最後の行は常に (0,0,0,0,1) として扱われるため、これは保存する必要がありません。
フィールド | 型 | コメント |
Matrix | FLOAT[20] | カラーマトリックス値 |
畳み込みフィルターは、2 次元の離散値の畳み込みを実行します。 これは、次の式によって各ピクセルに対して適用されます。 F は入力ピクセルプレーン、 G は入力行列、 H は出力ピクセルプレーンを表します。
(訳注: ↑ 数学良く分からないですが、この式Σとか抜けてる気がします。)
PreserveAlpha フラグがセットされていない場合、畳み込み処理は、各 RGBA ピクセルに適用され、飽和演算が施されます。 セットされている場合は、アルファチャネルの値のみ変更されなくなります。
Clamp フラグでは、入力ピクセルが外側にはみ出てしまった時の処理の仕方を指定します。 0 の時は、 DefaultColor フィールドにセットされた色が使われます。 1 の時は、一番近くにある有効なピクセルが入力ピクセルとして使われます。
フィールド | 型 | コメント |
MatrixX | UI8 | 水平行列サイズ |
MatrixY | UI8 | 垂直行列サイズ |
Divisor | FLOAT | 行列値を最後に割る数 |
Bias | FLOAT | 行列に適用する Bias |
Matrix | FLOAT[MatrixX * MatrixY] | 行列値 |
DefaultColor | RGBA | 入力画像からはみ出た時に使う色 |
Reserved | UB[6] | 常に 0 |
Clamp | UB[1] | Clamp モード |
PreserveAlpha | UB[1] | アルファチャネル保護 |
ブラーフィルターは、サブピクセルの正確なメディアンフィルターです (ボックスフィルタとも呼ばれます)。 このフィルターは、 RGBA チャネルのそれぞれに適用されます。
次に、サブピクセルの正確さの無い、単純なメディアンフィルターの式を示します。これは、簡単にサブピクセルを正確にした版にすることが可能です。
注 この式は、 Flash Player で同じ結果を得る時、 BlurX と BlurY が奇数であると仮定しています。 フィルタをウインドウは常に Flash Player のピクセルの中心です。
パス数を 3 に設定すると、ガウスブラーフィルターと全く同一になります。 もっと高いパス数にすることも可能ですが、パフォーマンスの観点により、 Adobe はお勧めしません。
ドロップシャドウフィルターは、ブラーフィルターをベースにしています。影のピクセルを生成するために、ブラーフィルターはアルファチャネルにのみ適用されます。
角度パラメータはラジアン単位です。 0 にセットすると、影はオブジェクトの右側に付きます。 距離はピクセル単位です。 影のピクセルを生成する時、サブピクセルはバイリニア補完されます。
Strength の値は標準の場合、固定小数点数で 1.0 になります。 影のピクセルのそれぞれの値がこの値で乗算されます。
ドロップシャドウにはいくつかの合成モードが適用可能です。影を付ける方向の内側・外側、通常モード・ノックアウトモードの設定があります。
結果の各ピクセル値は、提供された RGBA 値を乗算したものから得られます。 結果のピクセルは、元の入力ピクセルプレーンに対して指定された合成モードを適用することで合成されます。
フィールド | 型 | コメント |
DropShadowColor | RGBA | 影の色 |
BlurX | FIXED | 水平ブラーの量 |
BlurY | FIXED | 垂直ブラーの量 |
Angle | FIXED | 影の伸びる角度 (ラジアン) |
Distance | FIXED | 影の距離 |
Strength | FIXED8 | 影を付ける強さ |
InnerShadow | UB[1] | 内側に付けるモード |
Knockout | UB[1] | ノックアウトモード |
CompositeSource | UB[1] | 合成ソース (常に 1) |
Passes | UB[5] | ブラーをかけるパスの数 |
グローフィルターは、ドロップシャドウフィルターとほぼ同じ方法で動作します。 違いは、距離と角度がないところで、わずかにこちらの方が高速に動作します。
フィールド | 型 | コメント |
GlowColor | RGBA | 影の色 |
BlurX | FIXED | 水平ブラーの量 |
BlurY | FIXED | 垂直ブラーの量 |
Strength | FIXED8 | グローの強さ |
InnerGlow | UB[1] | 内側にグローをかけるモード |
Knockout | UB[1] | ノックアウトモード |
CompositeSource | UB[1] | 合成ソース (常に 1) |
Passes | UB[5] | ブラーをかけるパスの数 |
ベベルフィルターは、滑らかなベベルを表示リストのオブジェクトに対して適用します。
フィールド | 型 | コメント |
ShadowColor | RGBA | 影の色 |
HighlightColor | RGBA | ハイライトの色 |
BlurX | FIXED | 水平ブラーの量 |
BlurY | FIXED | 垂直ブラーの量 |
Angle | FIXED | ドロップシャドウの角度 |
Distance | FIXED | ドロップシャドウの距離 |
Strength | FIXED8 | ドロップシャドウの強さ |
InnerShadow | UB[1] | 内側にシャドウをかけるモード |
Knockout | UB[1] | ノックアウトモード |
CompositeSource | UB[1] | 合成ソース (常に 1) |
OnTop | UB[1] | OnTop モード |
Passes | UB[4] | ブラーのパスの数 |
グラデーショングロフィルターーとグラデーションベベルフィルターは、通常のグローフィルターとベベルフィルターの拡張で、単色の代わりにグラデーションの色を使います。 合成モードのうち 1 つが指定されている時は、シャドウピクセルプレーンの単色の値に乗算を適用する代わりに、グラデーションの利得値が結果のピクセルに直接マッピングされます。
フィールド | 型 | コメント |
NumColors | UI8 | グラデーションに使う色の数 |
GradientColors | RGBA[NumColors] | グラデーションの色 |
GradientRatio | UI8[NumColors] | グラデーションの比率 |
BlurX | FIXED | 水平ブラーの量 |
BlurY | FIXED | 垂直ブラーの量 |
Angle | FIXED | グラデーショングローのラジアン単位の角度 |
Distance | FIXED | グラデーショングローの距離 |
Strength | FIXED8 | グラデーショングローの強さ |
InnerShadow | UB[1] | 内側にグローをかけるモード |
Knockout | UB[1] | ノックアウトモード |
CompositeSource | UB[1] | 合成ソース (常に 1) |
OnTop | UB[1] | OnTop モード |
Passes | UB[4] | ブラーをかけるパスの数 |
フィールド | 型 | コメント |
NumColors | UI8 | グラデーションに使う色の数 |
GradientColors | RGBA[NumColors] | グラデーションの色 |
GradientRatio | UI8[NumColors] | グラデーションの比率 |
BlurX | FIXED | 水平ブラーの量 |
BlurY | FIXED | 垂直ブラーの量 |
Angle | FIXED | グラデーションベベルのラジアン単位の角度 |
Distance | FIXED | グラデーションベベルの距離 |
Strength | FIXED8 | グラデーションベベルの強さ |
InnerShadow | UB[1] | 内側にグローをかけるモード |
Knockout | UB[1] | ノックアウトモード |
CompositeSource | UB[1] | 合成ソース (常に 1) |
OnTop | UB[1] | OnTop モード |
Passes | UB[4] | ブラーをかけるパスの数 |