Définissez la propriété
cacheAsBitmapMatrix
lorsque vous utilisez des bitmaps mis en cache dans les applications AIR mobiles.
Dans le profil AIR mobile, vous pouvez affecter un objet Matrix à la propriété
cacheAsBitmapMatrix
d’un objet d’affichage. Lorsque vous définissez cette propriété, vous pouvez appliquer une transformation bidimensionnelle à l’objet sans régénérer le bitmap mis en cache. Vous pouvez en outre modifier la propriété alpha sans régénérer le bitmap mis en cache. Il est également nécessaire de définir la propriété
cacheAsBitmap
sur
true
et de vérifier qu’aucune propriété 3D de l’objet n’est définie.
La définition de la propriété
cacheAsBitmapMatrix
génère le bitmap mis en cache même si l’objet d’affichage est en dehors de l’écran ou masqué, ou si sa propriété
visible
est définie sur
false
. La réinitialisation de la propriété
cacheAsBitmapMatrix
à l’aide d’un objet Matrix contenant une transformation différente régénère également le bitmap mis en cache.
La transformation de matrice que vous appliquez à la propriété
cacheAsBitmapMatrix
est également appliquée à l’objet d’affichage lors du rendu de ce dernier dans le cache de bitmaps. Ainsi, si la transformation contient une échelle de 2x, la taille du rendu bitmap est deux fois supérieure à celle du rendu vectoriel. Le moteur de rendu applique la transformation inverse au bitmap mis en cache afin que l’affichage final ait un aspect identique. Vous pouvez réduire la taille du bitmap mis en cache afin de limiter la consommation de mémoire, au détriment de la fidélité du rendu. Inversement, vous pouvez agrandir le bitmap pour augmenter la qualité du rendu, bien que cela risque d’accroître la consommation de mémoire. Quoi qu’il en soit, vous devez en général utiliser une matrice d’identité, c’est-à-dire une matrice qui n’applique aucune transformation, afin d’éviter toute modification de l’apparence, comme indiqué dans l’exemple suivant :
displayObject.cacheAsBitMap = true;
displayObject.cacheAsBitmapMatrix = new Matrix();
Une fois la propriété
cacheAsBitmapMatrix
définie, vous pouvez mettre à l’échelle, incliner, faire pivoter et translater l’objet sans déclencher la régénération du bitmap.
Vous pouvez également modifier la valeur alpha dans une plage de valeurs comprises entre 0 et 1. Si vous modifiez la valeur alpha via la propriété
transform.colorTransform
avec une transformation de couleur, la valeur alpha utilisée dans l’objet de transformation doit être comprise entre 0 et 255. Modifier autrement la transformation de couleur entraîne la régénération du bitmap mis en cache.
Veillez à toujours définir la propriété
cacheAsBitmapMatrix
chaque fois que vous définissez
cacheAsBitmap
sur
true
dans le contenu créé pour les périphériques mobiles. Vous devez toutefois prendre en compte l’inconvénient suivant. Après la rotation, la mise à l’échelle ou l’inclinaison d’un objet, le rendu final peut présenter des artefacts de crènelage ou de mise à l’échelle par rapport à un rendu vectoriel normal.