Este es un efecto de texto muy bonito.Ani es un MC donde una letra aparece y aumenta de tamaño mientras gira hasta colocarse en la posición final.
El´único problema es que la distancia visual entre las letras una vez colocadas varía. (Si la letra es una m, la siguiente letra aparece montada sobre ella, y sin embargo si es una i, la siguiente letra aparece a años luz de distancia). ¿Cómo puedo "descontar" de la distancia entre letras (del kerning) el ancho de la letra inicial?
Ya se que es lioso pero al ver el script lo veréis.
Bueno lo dicho: os adjunto el sCRIPT.
Fotograma 1:
Código :
text = "Hola Que tal";
startx = 165;
starty = 45;
charWidth = 50;
setProperty("/ani", _visible, false);
length = length(text);//longitud del texto
linelength = 30;//longitud de la línea
kerning = 45;//Distancia entre caracteres
charinline = 0;//nº de caracteres en cada línea
i = 1;//contador
lettercount = 1; //contador de letras.Fotograma 10:
Código :
charinline = Number(charinline)+1;//número de caracteres en cada línea se incrementa por uno
if (Number(charinline)>=Number(linelength)) {// si es mayor que la longitud de la línea
prevent = substring(text, i-1, 1); //prevent es el trozo de cadena de texto, nº de caracteres será igual a i-1, el carácter desde el que inicia la subcadena
if (prevent eq " ") {// Si prevent es un espacio vacio, entonces el número de caracteres vuelve a ser uno
charinline = 1;
}
}
duplicateMovieClip("/ani", "ani" add i, i); //duplicamos el mc "ani", con el nuevo nombre "ani"add i, y profundidad i
setProperty("ani" add i, _x, Number(starty)+Number(charinline*kerning)); //y le decimos que le nuevo mc tiene la misma x y para la posición y
// será el punto de partida de la X más el nº de caracteres por línea por la distancia entre caracteres
set("/ani" add i add "/letters:letters", substring(text, i, 1));//defino una nueva variable , como una semicadena del texto, apartir del carácter i
//y con profundidad 1
i = Number(i)+1; //contador
Fotograma 12:
if (Number(i)<=Number(length)) {//Si el número i es menor que la longitud del texto vuelve al
//fotograma anterior para que duplique una nuena letra. Y si no que se pare.
gotoAndPlay(10);
} else {
stop();
}Bueno, eso es todo. Gracias al que lo lea....
[zah] Usa las etiquetas code para postear código[/zah]
