DefineScalingGrid タグは、9 スライススケーリングの概念を導入します。 これは、スプライトもしくはボタンのキャラクタに、部品スタイルのスケーリングを適用します。
DefineScalingGrid タグを適用する時、 Flash Player はスプライトかボタンを 9 つの部分に分かれたグリッドのような領域に分割します。 キャラクタの大きさが変更される時、 9 つの領域は、それぞれ独立してスケーリングされます。 角にあたる部分は大きさが変更されず、残りの部分は必要であれば拡大、縮小されます。
フィールド | 型 | コメント |
Header | RECORDHEADER | タグタイプ = 78 |
CharacterId | UI16 |
スケーリンググリッドを適用する スプライトもしくはボタンのキャラクタの ID |
Splitter | RECT | 9 スライスグリッドの真ん中の領域を指す矩形 |
Splitter フィールドは、スケーリンググリッドの 9 つの領域のうち、真ん中の部分にあたるところの矩形を指定します。 Flash Player は真ん中の領域の矩形を使って、 9 スライスグリッドを作成します。 真ん中の矩形領域の幅と高さは、最低 1 twip (1/20 ピクセル) 以上である必要があります。 0 の場合は、Flash Player は DefineScalingGrid タグを無視します。 スプライトかボタンに DefineScalingGrid が割り当てられている時、キャラクタの 9 つの領域は次の図のようにしてスケーリングされます。
9 スライススケーリングは、指定されたキャラクタの子要素にはなりません。 テキストを内側に入れたりすることもできません。 オブジェクトの形を変更するだけです。
DefineScalingGrid の付いたスプライトかボタンは、回転とゆがみの効果を付けることができません。 しかしこの制限は、9 スライスされたオブジェクトの親要素または子要素には適用されないので、親要素に対して回転・ゆがみの効果を適用することで 9 スライスされたオブジェクトにも効果を適用することができます。
Flash Player は形状にフィットさせるためにキャラクタを引き伸ばします。 9 スライスされたキャラクタが最初のサイズより小さくされた時、 5 つの可変サイズの領域が小さくなっていきます。 最小サイズに到達した時、 Flash Player はキャラクタを元の 9 スライススケーリングの無い状態のサイズに戻します。
DefineScalingGrid は SWF 8 以降で使用可能です。