lo que quiero es acceder a texto para poder aplicarle otras transiciones aparte de movimiento todos los movieclips estan contenidos en un arreglo llamado miarreglo elproblema es que si coloco miarreglo[1].alpha=0 no le aplica el efecto alfa al texto pero si hay un fondo o un dibujo funciona pero no en eltexto si intento acceder miarreglo[1].label.alpha=0 sale error.
despues de estesta esplicacion espero que este un poco claro, basicamente lo que necesito saber es como accedo al objeto de texto para aplicar efectos
el SWF este en este link http://www.mediafire.com/?jyoqnmwmmgm de momento no es la gran cosa pero si puedo aplicarle efectos al texto + TimelineMax se prodrian hacer efectos interesantes con textos.
por ultimo si alguien conoce alguna libreria libre para trabajar efectos con textos le agradeceria el dato, existe SWiSH Max pero no me convence para textos dinamicos por que siemprea hay que compilar.
convierte una cadena de texto en movieclips
Código ActionScript :
package
{
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.text.TextFormat;
/**
* ..
* @author Hector
*/
public class TextToMclip extends Sprite
{
private var ElArreglo:Array = new Array();
private var str:String;
private var format:TextFormat = new TextFormat();
/**
* @param s cadena de texto.
* @param f funte del texto "Verdana".
* @param c color del texto "0xFF0000".
* @param t tamaño del texto.
**/
public function TextToMclip(s:String,f:String,c:String,t:int)//str:String)
{
str = s;
format.font = f;
format.color = c;
format.size = t;
}
public function crearArr():Array {
//format.underline = true;
var mover:int=0;
for (var i:int = 0; i < str.length; i++)
{
var movC:MovieClip = new MovieClip();
//trace(str.charAt(i));
[b]var label:TextField;[/b]
label = new TextField();
label.name = "ellabel";
label.autoSize = TextFieldAutoSize.LEFT;
label.background = false;
label.border = false;
label.selectable = false;
label.defaultTextFormat = format;
label.text = str.charAt(i);
movC.addChild(label);
label.defaultTextFormat = format;
//trace(movC.width);
movC.x = mover;
mover += movC.width;
ElArreglo.push(movC);
//label.defaultTextFormat = format;
}
return ElArreglo
}
}
}pricipal incerta letras como movie clips y aplica una transision con TimelineMax
Código ActionScript :
package
{
import com.greensock.*;
import com.greensock.easing.*;
import flash.display.Sprite;
import flash.events.Event;
/**
* ...
* @author Hector
*/
[SWF(width='600', height='400', frameRate='61', backgroundColor='#000000')]
public class Main extends Sprite
{
private var miarreglo:Array = new Array();
private var timeline:TimelineMax = new TimelineMax({repeat:10, yoyo:true, repeatDelay:1.5});
public function Main():void
{
if (stage) init();
else addEventListener(Event.ADDED_TO_STAGE, init);
}
private function init(e:Event = null):void
{
var traer:TextToMclip = new TextToMclip("test","Verdana","0xFF0000",20);
//aqui esta contenida la cadena->movieclip con la que vamos a trabajar.
[b]miarreglo = traer.crearArr();[/b]
for (var i:int = 0; i <miarreglo.length ; i++)
{
miarreglo[i].y = 200;
miarreglo[i].x += 100;
addChild(miarreglo[i]);
trace(miarreglo[i].getChildAt(0));
}
timeline.insertMultiple( TweenMax.allFrom(miarreglo,1, {y:"-130", alpha:0,ease:Elastic.easeOut}, 0.04), 1.4);
removeEventListener(Event.ADDED_TO_STAGE, init);
// entry point
}
}
} 