Hercule_Babeuf
Messages postés11Date d'inscriptionlundi 22 décembre 2003StatutMembreDernière intervention19 octobre 2006
-
18 oct. 2006 à 17:06
Hercule_Babeuf
Messages postés11Date d'inscriptionlundi 22 décembre 2003StatutMembreDernière intervention19 octobre 2006
-
19 oct. 2006 à 11:31
Bonjour,
J'ai codé une fonction permettant d'afficher un texte en y appliquant des effets puis de l'animer (effet de vague)
La fonction prend en entrée la chaine de caractères a travailler et une variable indiquant si oui ou non le texte doit etre animé :
function afficheTexte(string, anim) {
// Définition du format
format = new TextFormat();
format.font = "soop";
format.align = "center";
format.size = 40;
format.color = "0x0099FF";
// Les effets que j'applique
var Glow:GlowFilter = new flash.filters.GlowFilter(0x000000, 100, 2, 2, 2, 2, false, false);
var Gradient:GradientGlowFilter = new flash.filters.GradientGlowFilter(3, 90, [16777161, 12583104], [0, 100], [0, 255], 10, 10, 0.8, 1, "inner", false);
var TabFiltres:Array = new Array();
TabFiltres.push(Glow);
TabFiltres.push(Gradient);
// Affichage lettre par lettre
taille = string.length;
for (i=0; i<taille; ++i) {
char = string.substr(i, 1);
var cliptexte = _root.createEmptyMovieClip("lettre"+i, i);
var ligne = cliptexte.createTextField("texte", 0, 250-(25*taille/2), 130, format.size*(1.500000E+000+i), format.size*(1.500000E+000+i));
ligne.selectable = false;
ligne.text = char;
ligne.embedFonts = true;
ligne.setTextFormat(format);
// Mise en place des effets
ligne.filters = TabFiltres;
if (anim == 1) {
// Animation des lettres
_root["lettre"+i].onEnterFrame = function() {
for (k=0; k<taille; k++) {
pos = _root["lettre"+k]._y;
_root["lettre"+k]._y = pos+Math.sin(j*3.14)*40;
j = j+1/10;
}
};
}
}
}
Alors voila j ai deux problèmes :
Le premier fois que j'appelle cette fonction, tout fonctionne normallement. Les effets sont appliqués et le texte ondule.Mais la deuxième fois que je fais appelle à cette fonction : le texte n'ondule pas et la ligne " ligne.filters = TabFiltres;" ralenti considérablement l'animation.
Si quelqu'un sait comment réparer cela, je suis preneur !
Hercule_Babeuf
Messages postés11Date d'inscriptionlundi 22 décembre 2003StatutMembreDernière intervention19 octobre 2006 19 oct. 2006 à 11:31
En fait le problème venait de l'appel de cette fonction que je faisais dans un onEnterFrame . J'avais donc une sorte d'imbrication de onEnterFrame qui faisait tout ramer.