WhiteMagus
Messages postés764Date d'inscriptionlundi 21 juin 2004StatutMembreDernière intervention 5 février 2010
-
19 mai 2009 à 22:37
WhiteMagus
Messages postés764Date d'inscriptionlundi 21 juin 2004StatutMembreDernière intervention 5 février 2010
-
22 mai 2009 à 14:08
Hello.
Le problème : j'ai besoin d'un masque inverse (c'est à dire qui fait l'effet contraire du masque : évide le Sprite) qui est dynamique (un texte dynamique).
Tout marche bien, le "masque" est en
BlendMode.ERASE
, le clip parent est en
BlendMode.LAYER
, tout marche bien.
Mais lorsque je veux faire tourner le parent (qui est en
BlendMode.LAYER
pour rappel) par un simple
.rotation
, le masque disparait, il n'est pas affiché et il n'évide rien du tout.
En clair :
BlendMode.ERASE
dans un
BlendMode.LAYER
qui tourne = plus rien ne fonctionne (ni rotation, ni erase......).
Je commence à être fatigué, là... Ça fait 4 jours que je suis sur ce projet...
pegase31
Messages postés6138Date d'inscriptiondimanche 21 décembre 2003StatutModérateurDernière intervention 4 septembre 201312 19 mai 2009 à 23:12
Je résume :
- tu as un texte dans un clip
- tu "troues" le clip à l'aide du texte via le blendMode
- quand tu fais tourner l'ensemble (sachant que le texte est dans le clip), le texte disparaît ? C'est bien ça ?
Alors le soucis ne vient pas de ton blendMode, mais certainement du fait de ne pas avoir intégré la police dans ton fla et que ton texte soit une zone dynamique (ce qui fait disparaître le texte).
J'ai testé sous flash un truc con avec 2 carrés et la rotation du parent fonctionne très bien, donc le soucis doit venir du texte.
WhiteMagus
Messages postés764Date d'inscriptionlundi 21 juin 2004StatutMembreDernière intervention 5 février 2010 19 mai 2009 à 22:55
Ça ne change malheureusement rien...
J'ai essayé de remettre les blendmode du parent seul, de l'enfant seul, et des deux en même temps, rien ne fonctionne...
Le plus bizarre, c'est que la rotation ne marche pas et efface le masque, mais que à partir de 0.3° rad. Avant ça, c'est juste la rotation qui marche pas... Le masque lui, fonctionne.
WhiteMagus
Messages postés764Date d'inscriptionlundi 21 juin 2004StatutMembreDernière intervention 5 février 2010 19 mai 2009 à 23:26
En effet, le problème vient du texte je pense, mais la police est dans la bibliothèque, le texte est pas sélectionnable, j'ai même testé avec cacheAsBitmap = true (il y est pour que l'"évidage" marche), j'ai aussi mis le parent en cacheAsBitmap = true, mais rien ne marche. Là j'avance à tâtons...
Mais pour ton résumé, tout est bon :)
Je peux t'envoyer la source si tu veux, mais je peux pas le mettre en ligne pour l'instant (par contre, rien n'est commenté... J'y arrive pas :) )
Bye
Vous n’avez pas trouvé la réponse que vous recherchez ?
WhiteMagus
Messages postés764Date d'inscriptionlundi 21 juin 2004StatutMembreDernière intervention 5 février 2010 22 mai 2009 à 14:08
Hello.
Alors, problème résolu.
Pour la rotation, j'ai oublié que .rotation est pas en degrés radians. Donc en fait, la rotation se faisait bien...
Mais le texte ne s'affichait pas...
Donc pour résoudre cela, j'ai appliqué un TextFormat comme suit :
var maFont:Stenc new Stenc() // Sten nom de la police exportée
var tForm:TextFormat = new TextFormat(maFont.fontName, textsize, 0x000000, null, null, null, null, null, "center");
Ce textformat est appliqué à mon champ de texte qui a l'option .embedFonts à true.
A ce niveau, le texte s'affiche correctement, mais la rotation le fait disparaître (sur mac, en tout cas).
Le seul moyen que j'ai trouvé pour que l'affichage soit respecté, c'est de transformer le TextField qui est drawable en Bitmap, via la méthode draw() de BitmapData.