2010-12-10 74 views
2

J'essaie de simuler certains effets de fondu entrant/sortant dans Action Script 3 par programmation, en utilisant la classe Timer et en contrôlant la propriété alpha du DisplayObject spécifié dans le temps. En général, cela fonctionne et semble très bien. Comme je m'y attendais. Mais après avoir ajouté un peu plus de DisplayObjects enfant au Sprite parent, il commence à se comporter bizarrement. Les enfants ne semblent pas se faner au même rythme que l'objet parent et il est visuellement perceptible et laid. Il semble y avoir un léger décalage après que le parent a déjà commencé à disparaître et avant que les enfants ne suivent réellement. Y a-t-il d'autres mesures que je devrais prendre pour éviter cela?Parent Sprite et ses enfants Les DisplayObjects ne font pas de fondu en entrée/sortie simultanément ...?

Je fais de la manipulation alpha uniquement sur l'objet parent. Je pensais que ce serait logique ...

Répondre

6

mis la blendmode à COUCHE:

blendMode = BlendMode.LAYER; 
+1

Adobe devrait vraiment en faire la valeur par défaut ... Beaucoup de gens se heurtent à ce problème lorsque le mélange ne répond pas à leurs attentes. – alxx

+0

Je pense qu'Adobe devrait vraiment réviser beaucoup, y compris les docs: ( – jayarjo

+0

Bon à savoir! J'ai toujours pensé que c'était un comportement funky et je n'avais aucune idée qu'il y avait une solution à ça! Pas que ce soit un vrai problème pour moi, mais quand même :) – Maurycy

2

Il peut avoir une réponse simple. Supposons que votre parent est un rectangle gris et que l'enfant est un petit rectangle gris. Maintenant Flash se comporte drôle. Cela, en quelque sorte, définit l'alpha de l'enfant (en interne?) Et parent. donc si vous avez parent_.alpha = 0.5, imaginez que le RECTANGLE du parent (le gris) soit transparent de 0,5, et ALORS sur le dessus est dessiné son enfant, qui a aussi alpha (en interne, la propriété alpha ne change pas) définie à 0.5; Si vous placez un rectangle de 0,5 au-dessus d'un autre rectangle de 0,5, le champ d'intersection sera plus visible que le reste. J'espère que ce charabia est au moins à moitié compréhensible, c'est un peu génial et je ne sais pas trop comment l'expliquer.

+0

Eh oui, je suis arrivé au point. Merci beaucoup pour la clarification! – jayarjo