AIR でキャッシュされたビットマップの変換マトリックス

モバイル AIR アプリケーションで、キャッシュされたビットマップを使用する場合は、 cacheAsBitmapMatrix プロパティを設定してください。

AIR モバイルのプロファイルでは、Matrix オブジェクトを表示オブジェクトの cacheAsBitmapMatrix プロパティに割り当てることができます。このプロパティを設定すると、キャッシュされたビットマップを再生成することなく、2 次元の変形をオブジェクトに適用できます。キャッシュされたビットマップを再生成することなく、アルファプロパティを変更することもできます。 cacheAsBitmap プロパティには、 true を設定し、そのオブジェクトの 3D プロパティは設定しないでください。

cacheAsBitmapMatrix プロパティを設定すると、表示オブジェクトが画面の外にある場合、非表示の場合、または visible プロパティに false が設定されている場合でも、キャッシュされたビットマップは生成されます。異なる変形を含むマトリックスオブジェクトを使用して cacheAsBitmapMatrix プロパティを再設定しても、キャッシュされたビットマップは生成されます。

cacheAsBitmapMatrix プロパティに適用するマトリックスの変形は、表示オブジェクトがビットマップキャッシュにレンダリングされるときに適用されます。そのため、2 倍のスケールを含む変形の場合、ビットマップのレンダリングはベクターのレンダリングの 2 倍のサイズになります。レンダリングでは、インバースの変形をキャッシュされたビットマップに適用して、最終の表示が同じになるようにします。キャッシュされたビットマップのサイズを縮小すると、レンダリングの正確性は損なわれる可能性がありますが、メモリの使用量を削減することができます。ビットマップのサイズを拡大すると、メモリの使用量は増えますが、レンダリングの品質が向上する場合があります。通常は、次の例で示すように、単位マトリックス(変形が適用されないマトリックス)を使用し、外観の変更は避けます。

displayObject.cacheAsBitMap = true; 
displayObject.cacheAsBitmapMatrix = new Matrix();

cacheAsBitmapMatrix プロパティを設定すると、ビットマップの再生成をトリガーすることなく、オブジェクトを拡大 / 縮小、傾斜、回転、移動できます。

また、アルファ値を 0 と 1 の範囲内で変更することもできます。カラー変換を含む transform.colorTransform プロパティを使用してアルファ値を変更する場合、変形オブジェクトで使用するアルファは 0~255 の範囲内である必要があります。他の方法でカラー変換を変更すると、キャッシュされたビットマップは再生成されます。

モバイルデバイス用に作成されたコンテンツで cacheAsBitmap true に設定するときは、必ず cacheAsBitmapMatrix プロパティを設定します。ただし、次の潜在的な欠点について考慮してください。オブジェクトを回転、拡大 / 縮小または傾斜させた場合、通常のベクターレンダリングと比較して、最終的なレンダリング結果でビットマップが拡大 / 縮小したり、ギザギザが生じたりするおそれがあります。