BlendMode.LAYER: une nécessité lorsqu’on change la propriété alpha d’un DisplayObject qui contient plusieurs DisplayObjects

Je ne sais pas si vous avez déjà tweené l’alpha d’un MovieClip qui contenais plusieurs Objets, mais je fais cela pas mal souvent (fade in, fade out étant les transitions les plus facile à utiliser pour à peu près tout). Par défaut, Flash modifie l’alpha de chacun des Objets que contient ce MovieClip (ou Sprite). Des fois ce n’est pas grave, mais la plupart du temps ce n’est pas comme cela qu’on voudrait que cela se produise. Lorsque le MovieClip dont vous changez le alpha contient des formes ou des bitmaps qui se superposent ou en cachent d’autres complètement, vous allez apercevoir tout les Objects au lieu de voir seulement ceux qui sont visible au départ parce que Flash ne considère pas le conteneur comme un entier.

Bon, je ne sais pas si c’est clair, mais j’ai un exemple plus bas pour clarifier la chose. En tous cas, j’ai trouvé la solution pour ce problème en lisant la documentation de BlendMode.Si vous assignez au blendMode du DisplayObject conteneur la valeur de BlendMode.LAYER Flahs va considerer ce DIsplayObject comme une seule couche et va changer le alpha de la façon qu’on serait porter à le croire.

Voici un exemple pour mieux illustrer mon point. Le Sprite de gauche est l’object de référence, le Sprite du milieu n’a pas de blendMode appliqué et celui de droite a un blendMode de BlendMode.LAYER. Regardez particulièrement la région ou l’éllipse bleu se superpose à l’éllipse vert.

J’aurais vraiment aimé trouver cela avant et j’espère que cela va aider d’autre qui était dans ma situation.

Tags: , , ,

Leave a Reply