Comunidad de diseño web y desarrollo en internet online

acceder a un objeto dentro de un movieclip

Citar            
MensajeEscrito el 04 Ene 2010 08:39 pm
hace tiempo que llebava buscando una libreria que colocara efectos a lineas de texto pero no encontre asi que desidi hacerla el codigo que presento funciona basicamente lo que hace es comberitir una cadena de caracteres en movieclips y le aplica un efecto con TimelineMax hasta ahi no hay problema.

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
      }
      
   }
   
}

Por tremulousevolution

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 May 2010 02:23 pm
[...]
elproblema es que si coloco miarreglo[1].alpha=0 no le aplica el efecto alfa al texto
[...]

Eso es porque no has embebido la fuente que has utilizado.

Espero que te sirva de ayuda.

Saludos.

Por obi_juan_

3 de clabLevel



 

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.