Comunidad de diseño web y desarrollo en internet online

formato de texto AS3

Citar            
MensajeEscrito el 16 Jun 2010 05:33 pm
bueno hace dias publique este post:
http://foros.cristalab.com/ayuda-con-formato-de-un-text-t88561/

pero no obtub respuesta alguna talvez lo puse en el lugar incorrecto...

es un cubo que estoy haciendo en flash con codigo AS3

lo que necesito es... poner en la parte de en medio, de cada cara del cubo el texto que aparece...

NOTA: En el post que publique hay una imagen del ejemplo del cubo... el texto está centrado pero... no a la mitad de las caras
ayuda plis

Por juramy

Claber

217 de clabLevel

2 tutoriales

 

Programador

msie8
Citar            
MensajeEscrito el 16 Jun 2010 11:38 pm
Es un poco tonto pero... Y cambiando la x? Claro talvez me digas que no es tan simple porque no pareceria 3d lo cual puede que te lleve a la respuesta que realmente necesitas, cuya pregunta, no es como centrar el texto, si no más bien, por asi decirlo, el hecho de que nadie respondiera tu post anterior, lo cual nos lleva a la siguiente conclusion:

Nadie respondio tu post anterior porque no esta el codigo ni por asomo completo. Solamente hay un pedazo de codigo para dar formato a texto con lo cual es imposible ayudarte. Talvez si pones tu codigo completo o gran parte de ese codigo (espero que no pienses que te lo robarán! El simple echo de que alguien pida ayuda a una comunidad pero que al mismo tiempo piense que le robaran sus ideas me pone la piel de gallina...) como por ejemplo como colocas esos campos de texto con ese angulo para que asi parezca un cubo y asi poder ayudarte a modificarlo.

Viendo que eres un desarrollador bastante capaz (no es una ironia) supongo que habras mirado la referencia de as3 y no viste una propiedad vAlign, mi solucion asi por encima y muy chapucera es jugar con la propiedad leading de TextFormat y un intro delante de la palabra.

Saludos ^_^

Por Atomsk

350 de clabLevel

3 tutoriales

 

firefox
Citar            
MensajeEscrito el 22 Jun 2010 09:10 pm
ok...
este es el codigo de una parte del codigo del cubo... esta dividido en 3 archivos(.as) y se mandan llamar desde un archivo en blanco (flash)... Los archivos estan divididos para tener un mejor orden de trabajar... los otros no tienen nada que ver con el texto... este es el as que contiene todo el texto.

NOTA: No me molesta publicar mi codigo, alcontrario si les ayuda a alguien mas me sentiria muy bien =) pero en esta ocacion no lo veo muy necesario

ok bueno el siguiente codigo es el formato de las caras del cubo (colores y todo ese rollo y el formato del texto)


Código ActionScript :

package com.flashandmath.bitmaps {
   
    import flash.display.*;
  
     import flash.events.*;
   
     import flash.text.*;
    
    import flash.geom.Matrix;
   
    import flash.geom.Point;
   
    import com.flashandmath.bitmaps.ImageLoader;
   
    import com.flashandmath.bitmaps.BitmapTransformer;
    
   
    public class CubeMenu extends Sprite {
      
       
      private var imgLoader:ImageLoader;
      
      private var errorBox:TextField;
      
         private var bitmap:BitmapData;

      private var bd0:BitmapData;
        private var bd1:BitmapData;
        private var bd2:BitmapData;
        private var bd3:BitmapData;
        private var bd4:BitmapData;
        private var bd5:BitmapData;
      private var bdTransform:BitmapTransformer;
      private var vertsArray:Array;
        private var facesArray:Array;
        private var numVertices:uint;
        private var numFaces:uint;
        private var boardSize:Number;
        private var spBoard:Sprite;
      private var shBack:Shape;
        private var spCube:Sprite;
      private var doRotate:Boolean;
        private var prevX:Number;
        private var prevY:Number;
        private var curTheta:Number;
        private var curPhi:Number;
      private var cubeSize:Number;
      public var fLen:Number;
      public var side0:Sprite;
        public var side1:Sprite;
        public var side2:Sprite;
        public var side3:Sprite;
        public var side4:Sprite;
        public var side5:Sprite;
      private var infoBox:TextField;
      public function CubeMenu(imgs:Array,size:Number) {
         
        cubeSize=size;
        boardSize=2*cubeSize+20;
        setUpInfoBox();
        fLen=500;
        spBoard=new Sprite();
          this.addChild(spBoard);
        shBack=new Shape();
          spBoard.addChild(shBack);

          spCube=new Sprite();

          spBoard.addChild(spCube);

          spCube.x=boardSize/2;

          spCube.y=boardSize/2;

          side0=new Sprite();

          spCube.addChild(side0);

          side1=new Sprite();

          spCube.addChild(side1);

          side2=new Sprite();

          spCube.addChild(side2);

          side3=new Sprite();

          spCube.addChild(side3);

          side4=new Sprite();

          spCube.addChild(side4);

          side5=new Sprite();

          spCube.addChild(side5);
        
        side0.doubleClickEnabled=true;

          side1.doubleClickEnabled=true;

          side2.doubleClickEnabled=true;

          side3.doubleClickEnabled=true;

          side4.doubleClickEnabled=true;

          side5.doubleClickEnabled=true;
        
        doRotate=false;

          curTheta=20;

          curPhi=70;
        
        drawBack(0x000000,0x333333,0,boardSize);
        
        prepErrorBox();
         
        prepImgs(imgs);
         
      }
      
      
      private function drawBack(b:Number,r:Number,t:Number,s:Number):void {
   
           shBack.graphics.clear();
   
           shBack.graphics.lineStyle(t,r);
   
           shBack.graphics.beginFill(b);
   
           shBack.graphics.drawRect(0,0,s,s);
   
           shBack.graphics.endFill();
   
          }
      
      
        private function prepErrorBox():void {
         
         errorBox=new TextField();

            this.addChild(errorBox);
      
            errorBox.wordWrap=true;

            errorBox.mouseEnabled=false;
         
         errorBox.background=false;
         
         errorBox.border=false;
         
         setErrorBoxSizeAndPos(300,100,20,20);
         
         setErrorBoxFormat(0x999999,14);
         
         errorBox.text="Cargando...";
         
         errorBox.visible=true;

         
      }
      
      private function prepImgs(a:Array):void {
         
         imgLoader=new ImageLoader();
         
         imgLoader.addEventListener(ImageLoader.LOAD_ERROR,errorLoading);
      
           imgLoader.addEventListener(ImageLoader.IMGS_LOADED,allLoaded);
      
            imgLoader.loadImgs(a);
         
      }
      
      private function errorLoading(e:Event):void {
         
         errorBox.visible=true;
      
         errorBox.text="Error en la carga de datos o el servidor se encuentra ocupado, intente refrescar la página.";
         
        }
   
        private function allLoaded(e:Event):void {
         
        errorBox.visible=false;
   
         initApp();
   
        }
      
      private function initApp():void {
         
        var imgsSize:Number;
         
            var tx:TextField = new TextField();
            var tx1:TextField = new TextField();
            var tx2:TextField = new TextField();
            var tx3:TextField = new TextField();
            var tx4:TextField = new TextField();
            var tx5:TextField = new TextField();
            
            var tf:TextFormat = new TextFormat();

   // da formato al texto
            tf.size = 30;
            tf.color = 0xffffff;
            tf.align = TextFormatAlign.CENTER;
                         
            tx.defaultTextFormat = tf;
            
            tx.width = 200;// - (200*2);
            tx.selectable = false;
            tx.height = 220;// - (220*2);
            tx.borderColor = 0xffffff;
            //tx.border = 3;
            
            tx1.defaultTextFormat = tf;
            tx1.width = 200;// - (200*2);
            tx1.selectable = false;
            tx1.height = 220;// - (220*2);
            tx1.borderColor = 0xffffff;
            //tx1.border = 3;
            
             tx2.defaultTextFormat = tf;
            tx2.width = 200;// - (200*2);
            tx2.selectable = false;
            tx2.height = 220 ;//- (220*2);
            tx2.borderColor = 0xffffff;
            //tx2.border = 3;
            
            tx3.defaultTextFormat = tf;
            tx3.width = 200;// - (200*2);
            tx3.selectable = false;
            tx3.height = 220;// - (220*2);
            tx3.borderColor = 0xffffff;
            //tx3.border = 3;
            
            tx4.defaultTextFormat = tf;
            tx4.width = 200;// - (200*2);
            tx4.selectable = false;
            tx4.height = 220;// - (220*2);
            tx4.borderColor = 0xffffff;
            //tx4.border = 3;
            
            tx5.defaultTextFormat = tf;
            tx5.width = 200;// - (200*2);
            tx5.selectable = false;
            tx5.height = 220;// - (220*2);
            tx5.borderColor = 0xffffff;
            //tx5.border = 3;

   
            // set the default text content
            tx.text = "Personas";
            tx1.text = "Esquemas de fraude";            
            tx2.text = "Proyectos";
            tx3.text = "Incidentes de fraude";
            tx4.text = "Negocio";
            tx5.text = "50";            
            
            // render to a bitmap
            var bitmapData:BitmapData = new BitmapData(200, 220, false, 0x000033 );
            var bitmapData1:BitmapData = new BitmapData(200, 220, false, 0x000033);
            var bitmapData2:BitmapData = new BitmapData(200, 220, false, 0x000033);
            var bitmapData3:BitmapData = new BitmapData(200, 220, false, 0x000033);
            var bitmapData4:BitmapData = new BitmapData(200, 220, false, 0x000033);
            var bitmapData5:BitmapData = new BitmapData(200, 220, false, 0x000033);

            bitmapData.draw(tx);
            bitmapData1.draw(tx1);
            bitmapData2.draw(tx2);
            bitmapData3.draw(tx3);
            bitmapData4.draw(tx4);
            bitmapData5.draw(tx5);

            var bitmap:Bitmap = new Bitmap();
            var bitmap1:Bitmap = new Bitmap();
            var bitmap2:Bitmap = new Bitmap();
            var bitmap3:Bitmap = new Bitmap();
            var bitmap4:Bitmap = new Bitmap();
            var bitmap5:Bitmap = new Bitmap();
            bitmap.bitmapData = bitmapData;
            bitmap.smoothing = true;
            bitmap1.bitmapData = bitmapData1;
            bitmap1.smoothing = true;
            bitmap2.bitmapData = bitmapData2;
            bitmap2.smoothing = true;
            bitmap3.bitmapData = bitmapData3;
            bitmap3.smoothing = true;
            bitmap4.bitmapData = bitmapData4;
            bitmap4.smoothing = true;
            bitmap5.bitmapData = bitmapData5;
            bitmap5.smoothing = true;
            //addChild(bitmap);
                     
         
         
         
         
         bd0=bitmap.bitmapData;
         bd1=bitmap1.bitmapData;
         bd2=bitmap2.bitmapData;
         bd3=bitmap3.bitmapData;
         bd4=bitmap4.bitmapData;
         bd5=bitmap5.bitmapData;
        imgsSize=bd0.width;
        bdTransform=new BitmapTransformer(imgsSize,imgsSize,20,20);
        
        vertsArray=[];

          facesArray=[];

          numVertices=8;

          numFaces=6;

         setVertices();

          setFaces();
    
          renderView(curTheta,curPhi);
  
         setUpListeners();

   
            }
         

    private function setVertices():void {
   
       vertsArray[0]=[cubeSize/1.7,-cubeSize/1.7,cubeSize/1.7];
   
       vertsArray[1]=[cubeSize/1.7,cubeSize/1.7,cubeSize/1.7];
   
       vertsArray[2]=[-cubeSize/1.7,cubeSize/1.7,cubeSize/1.7];
   
       vertsArray[3]=[-cubeSize/1.7,-cubeSize/1.7,cubeSize/1.7];
   
       vertsArray[4]=[cubeSize/1.7,-cubeSize/1.7,-cubeSize/1.7];
   
       vertsArray[5]=[cubeSize/1.7,cubeSize/1.7,-cubeSize/1.7];
   
       vertsArray[6]=[-cubeSize/1.7,cubeSize/1.7,-cubeSize/1.7];
   
       vertsArray[7]=[-cubeSize/1.7,-cubeSize/1.7,-cubeSize/1.7];
   
      }


    private function setFaces():void {
   
     facesArray[0]=[0,1,5,4,bd0];
   
     facesArray[1]=[1,2,6,5,bd1];
   
     facesArray[2]=[2,3,7,6,bd2];
   
     facesArray[3]=[3,0,4,7,bd3];
   
     facesArray[4]=[4,5,6,7,bd4];
   
     facesArray[5]=[3,2,1,0,bd5];
   
   }



     private function setUpListeners():void {
      
        imgLoader.removeEventListener(ImageLoader.LOAD_ERROR,errorLoading);
      
        imgLoader.removeEventListener(ImageLoader.IMGS_LOADED,allLoaded);
      
        spBoard.addEventListener(MouseEvent.ROLL_OUT,boardOut);
      
          spBoard.addEventListener(MouseEvent.MOUSE_MOVE,boardMove);
      
          spBoard.addEventListener(MouseEvent.MOUSE_DOWN,boardDown);
      
          spBoard.addEventListener(MouseEvent.MOUSE_UP,boardUp);
      
        side0.addEventListener(MouseEvent.CLICK,side0Clicked);
      
        side1.addEventListener(MouseEvent.CLICK,side1Clicked);
      
        side2.addEventListener(MouseEvent.CLICK,side2Clicked);
      
        side3.addEventListener(MouseEvent.CLICK,side3Clicked);
      
        side4.addEventListener(MouseEvent.CLICK,side4Clicked);
      
        side5.addEventListener(MouseEvent.CLICK,side5Clicked);
      
   }
   
        
   
     private function boardOut(e:MouseEvent):void {
         
         doRotate=false;
         
   }
   
     private function boardDown(e:MouseEvent):void {         
         
         prevX=spBoard.mouseX;
         
         prevY=spBoard.mouseY;
            
         doRotate=true;
         
   }
   
     private function boardUp(e:MouseEvent):void {
         
         doRotate=false;
         
   }
   
     private function boardMove(e:MouseEvent):void {
       
              var locX:Number=prevX;
            
            var locY:Number=prevY;
      
            if(doRotate){
            
            prevX=spBoard.mouseX;
            
            prevY=spBoard.mouseY;
            
            curTheta+=(prevX-locX);
            
            curPhi+=(prevY-locY);
            
            renderView(curTheta,curPhi);
            
            e.updateAfterEvent();
            
            }
   }



     private function side0Clicked(e:MouseEvent):void {
   
        curTheta=0;
   
        curPhi=90;
   
        renderView(curTheta,curPhi);
   infoBox.text="ESQUEMAS DE FRAUDE";
    }



     private function side1Clicked(e:MouseEvent):void {
   
       curTheta=-270;
   
       curPhi=90;
   
       renderView(curTheta,curPhi);
      infoBox.text="PROYECTOS";
   
   }



     private function side2Clicked(e:MouseEvent):void {
   
       curTheta=-180;
   
       curPhi=90;
   
       renderView(curTheta,curPhi);
      infoBox.text="NEGOCIO";
   
    }
      


     private function side3Clicked(e:MouseEvent):void {
   
       curTheta=-90;
   
       curPhi=90;
   
       renderView(curTheta,curPhi);
       infoBox.text="PERSONAS";
   
   }



     private function side4Clicked(e:MouseEvent):void {
   
       curTheta=0;
   
       curPhi=-180;
   
       renderView(curTheta,curPhi);
      infoBox.text="INCIDENTES DE FRAUDE";
   }



     private function side5Clicked(e:MouseEvent):void {
   
       curTheta=0;
   
       curPhi=0;
   
      renderView(curTheta,curPhi);
       infoBox.text="CIFRAS";
   
    }
   private function setUpInfoBox():void {
      
      var infoFormat:TextFormat=new TextFormat();
      
      infoBox=new TextField();
         
      this.addChild(infoBox);
         
      infoBox.x=347;

        infoBox.y=165;

        infoBox.width=255;

        infoBox.height=100;

        infoBox.wordWrap=true;

        infoBox.mouseEnabled=false;
      
      infoFormat.color=0x000987;

        infoFormat.align="center";

        infoFormat.size=14;

        infoFormat.font="Bell Gothic Std";

        infoBox.defaultTextFormat=infoFormat;

   }


     private function renderView(t:Number,p:Number):void {
   
       var i:int;
   
       var distArray=[];
   
       var dispArray=[];
   
       var vertsNewArray=[];
   
       var midPoint:Array=[];
   
       var curv0:Array=[];
   
       var curv1:Array=[];
   
       var curv2:Array=[];
   
       var curv3:Array=[];
   
       var curImg:BitmapData;

       var dist:Number;
   
       var curFace:uint;
   
       t=t*Math.PI/180;
   
       p=p*Math.PI/180;
   
      side0.graphics.clear();
   
      side1.graphics.clear();
   
      side2.graphics.clear();
   
      side3.graphics.clear();
   
      side4.graphics.clear();
   
      side5.graphics.clear();
   
    for(i=0;i<numVertices;i++){
      
      vertsNewArray[i]=pointNewView(vertsArray[i],t,p); 
      
   }
   
   
   for(i=0;i<numFaces;i++){
      
      midPoint[0]=(vertsNewArray[facesArray[i][0]][0]+vertsNewArray[facesArray[i][1]][0]+vertsNewArray[facesArray[i][2]][0]+vertsNewArray[facesArray[i][3]][0])/4;
      
      midPoint[1]=(vertsNewArray[facesArray[i][0]][1]+vertsNewArray[facesArray[i][1]][1]+vertsNewArray[facesArray[i][2]][1]+vertsNewArray[facesArray[i][3]][1])/4;
      
      midPoint[2]=(vertsNewArray[facesArray[i][0]][2]+vertsNewArray[facesArray[i][1]][2]+vertsNewArray[facesArray[i][2]][2]+vertsNewArray[facesArray[i][3]][2])/4;
      
      dist=Math.sqrt(Math.pow(fLen-midPoint[0],2)+Math.pow(midPoint[1],2)+Math.pow(midPoint[2],2));
      
      distArray[i]=[dist,i];
      
   }
   
   distArray.sort(byDist);
   
   for(i=0;i<numVertices;i++){
         
      dispArray[i]=[fLen/(fLen-vertsNewArray[i][0])*vertsNewArray[i][1],-fLen/(fLen-vertsNewArray[i][0])*vertsNewArray[i][2]];
      
      
   }
   
   for(i=3;i<numFaces;i++){
      
      curFace=distArray[i][1];
      
      curv0=[dispArray[facesArray[curFace][0]][0],dispArray[facesArray[curFace][0]][1]];
      
      curv1=[dispArray[facesArray[curFace][1]][0],dispArray[facesArray[curFace][1]][1]];
      
      curv2=[dispArray[facesArray[curFace][2]][0],dispArray[facesArray[curFace][2]][1]];
      
      curv3=[dispArray[facesArray[curFace][3]][0],dispArray[facesArray[curFace][3]][1]];
      
      curImg=facesArray[curFace][4];
      
      spCube.setChildIndex(this["side"+String(curFace)],spCube.numChildren-1);
      
      bdTransform.mapBitmapData(curImg,new Point(curv0[0],curv0[1]),new Point(curv1[0],curv1[1]),new Point(curv2[0],curv2[1]),new Point(curv3[0],curv3[1]),this["side"+String(curFace)]);
      
   }
   
}

   private function byDist(v:Array,w:Array):Number {
   
    if (v[0]>w[0]){
      
      return -1;
      
     } else if (v[0]<w[0]){
      
      return 1;
   
      } else {
      
      return 0;
     }
     
  }


   private function pointNewView(v:Array,theta:Number,phi:Number):Array {
   
     var newCoords:Array=[];
   
     newCoords[0]=v[0]*Math.cos(theta)*Math.sin(phi)+v[1]*Math.sin(theta)*Math.sin(phi)+v[2]*Math.cos(phi);
   
     newCoords[1]=-v[0]*Math.sin(theta)+v[1]*Math.cos(theta);
   
     newCoords[2]=-v[0]*Math.cos(theta)*Math.cos(phi)-v[1]*Math.sin(theta)*Math.cos(phi)+v[2]*Math.sin(phi);
   
     return newCoords;
   
   }

   
      public function setErrorBoxSizeAndPos(w:Number,h:Number,a:Number,b:Number): void {
      
            
         errorBox.width=w;
      
         errorBox.height=h;
      
         errorBox.x=a;
      
         errorBox.y=b;
      
   }
   
   
   
      public function setErrorBoxFormat(colo:Number,s:Number): void {
      
         var errorFormat:TextFormat=new TextFormat();

           errorFormat.color=colo;

           errorFormat.size=s;

           errorFormat.font="Arial";

           errorBox.defaultTextFormat=errorFormat;
      
   }
    
     public function setBackLook(b:Number,r:Number,t:Number): void {
        
        drawBack(b,r,t,boardSize);
        
     }
     
    
      
      
   }
   
   
}

Por juramy

Claber

217 de clabLevel

2 tutoriales

 

Programador

msie8
Citar            
MensajeEscrito el 24 Jun 2010 09:08 am
Hola,
con permiso de Atomsk voy a responder a tu pregunta.
Cuando dibujas en un BitmapData usando el método draw, para trasladar, rotar, etc el objeto tienes que pasarle como parámetro una matriz de transformación que refleje esa rotación.
Aquí te pongo un ejemplo partiendo de tu código:

Código ActionScript :

var tf:TextFormat = new TextFormat();
tf.size = 30;
tf.color = 0xffffff;
tf.align = TextFormatAlign.CENTER;

var tx:TextField = new TextField();
tx.defaultTextFormat = tf;
tx.width = 200;// - (200*2); 
tx.selectable = false;
tx.borderColor = 0xffffff;
tx.border = true; 
tx.text = "Personas";

//AQUÍ ESTÁ LA FORMA DE TRASLADARLO:
//Creamos una matriz de transformación para mover tx:
var matrix:Matrix = new Matrix(1, 0, 0, 1, 0, 0);
//Trasladamos el textField hasta el centro:
var centerY:Number = (220 - tx.height) / 2;
matrix.translate(0, centerY);

// render to a bitmap 
var bitmapData:BitmapData = new BitmapData(200, 220, false, 0x000033);
bitmapData.draw(tx, matrix);

var bitmap:Bitmap = new Bitmap(bitmapData);
bitmap.smoothing = true;

addChild(bitmap);

Un detalle: la propiedad border de TextField es un booleano, no un número, y por lo tanto tienes que poner:
tx.border = true;
y no:
tx.border = 3;
aunque funcione porque al convertir 3 en booleano sea igual a true.

Por isidoro

Claber

498 de clabLevel

2 tutoriales

Genero:Masculino  

firefox
Citar            
MensajeEscrito el 30 Jun 2010 10:10 pm
mi estimado isidro tu respuesta es excelente y digna de aplaudir... lo probe y me funciono!! pero no es lo que necesito ya que se duplica la imagen... U_U ya vere que se puede hacer, me diste una idea muy buena haber que sucede.

Por juramy

Claber

217 de clabLevel

2 tutoriales

 

Programador

msie8
Citar            
MensajeEscrito el 01 Jul 2010 07:19 am
No entiendo a qué te refieres con eso de que "se duplica la imagen". En el código que te he puesto sólo se dibuja sobre un bitmapdata y se añade una vez al stage usando un bitmap (vamos, que no hay ninguna imagen repetida por ningún sitio).
Si tienes ese problema comprueba que no estés dibujando 2 veces sobre cada bitmap (es decir, que no estés haciendo bitmapData.draw(tx) y después bitmapData.draw(tx, matrix)); y también comprueba que no estés haciendo 2 veces addChild del bitmap.

Por isidoro

Claber

498 de clabLevel

2 tutoriales

Genero:Masculino  

firefox
Citar            
MensajeEscrito el 01 Jul 2010 04:12 pm


este fue mi resultado con el codigo

Código :

//Trasladamos el textField hasta el centro: 
var centerY:Number = (200 - tx.height)/ 2; 
matrix.translate(10, centerY); 


movi el bitmap 10 posiciones hacia el lado derecho para que vieras como es una imagen duplicada U_U

si el texto llega a ser de mucho texto se cortara... U_U (NO SUPE COMO QUITAR EL TEXTO DE ATRAS "ARRIBA")

Por juramy

Claber

217 de clabLevel

2 tutoriales

 

Programador

msie8
Citar            
MensajeEscrito el 01 Jul 2010 11:30 pm
Quizá esté equivocado, pero sigo pensando que estás dibujando dos veces el mismo textField por cada cara. ¿Puedes postear el código que llevas hasta ahora?

Por isidoro

Claber

498 de clabLevel

2 tutoriales

Genero:Masculino  

firefox
Citar            
MensajeEscrito el 02 Jul 2010 03:00 pm
bueno pongo el codigo relevante no es necesario poner los imports y todo ese rollo comenté el codigo que me dijiste como prueba CLAB

Código ActionScript :


      private function initApp():void {
         
        var imgsSize:Number;
         
            var tx:TextField = new TextField();
            var tx1:TextField = new TextField();
            var tx2:TextField = new TextField();
            var tx3:TextField = new TextField();
            var tx4:TextField = new TextField();
            var tx5:TextField = new TextField();
            
            var tf:TextFormat = new TextFormat();
                        
            
   // da formato al texto
            tf.size = 25;
            tf.color = 0xffffff;
            tf.align = TextFormatAlign.CENTER;
            tf.kerning = true;
            tf.bold = false;
            //tf.leading = 100;
            tx.wordWrap = true;
            tx1.wordWrap =true ;
            tx2.wordWrap =true ;
            tx3.wordWrap =true ;
            tx4.wordWrap =true ;
            tx5.wordWrap =true ;
            
// prueba CLAB
var matrix:Matrix = new Matrix();//1, 0, 0, 1, 0, 0); 
//Trasladamos el textField hasta el centro: 
var centerY:Number = (200 - tx.height)/ 2; 
matrix.translate(10, centerY); 
//posicion del texto
                        
                        
            tx.defaultTextFormat = tf;
            tx.width = 200;// - (200*2);
            tx.selectable = false;
            tx.height = 250;// - (220*2);
            tx.borderColor = 0xffffff;
            tx.border = true;
            
            tx1.defaultTextFormat = tf;
            tx1.width = 200;// - (200*2);
            tx1.selectable = false;
            tx1.height = 250;// - (220*2);
            tx1.borderColor = 0xffffff;
            tx1.border = true;
            
                         tx2.defaultTextFormat = tf;
            tx2.width = 200;// - (200*2);
            tx2.selectable = false;
            tx2.height = 250 ;//- (220*2);
            tx2.borderColor = 0xffffff;
            tx2.border = true;
            
            tx3.defaultTextFormat = tf;
            tx3.width = 200;// - (200*2);
            tx3.selectable = false;
            tx3.height = 250;// - (220*2);
            tx3.borderColor = 0xffffff;
            tx3.border = true;
            
            tx4.defaultTextFormat = tf;
            tx4.width = 200;// - (200*2);
            tx4.selectable = false;
            tx4.height = 250;// - (220*2);
            tx4.borderColor = 0xffffff;
            tx4.border = true;
            
            tx5.defaultTextFormat = tf;
            tx5.width = 200;// - (200*2);
            tx5.selectable = false;
            tx5.height = 250;// - (220*2);
            tx5.borderColor = 0xffffff;
            tx5.border = true;

   
            // set the default text content
            tx.text = "Personas";
            tx1.text = "Esquemas de fraude";            
            tx2.text = "Proyectos";
            tx3.text = "Vamos a comer al borrego viudo y pediré diez tacos";
            tx4.text = "Negocio";
            tx5.text = "Tengo Hambre y ya es mucha";            
      
            // render to a bitmap
            var bitmapData:BitmapData = new BitmapData(200, 250, false, 0x000033);
//prueba CLAB
bitmapData.draw(tx, matrix);  
            var bitmapData1:BitmapData = new BitmapData(200, 250, false, 0x000033);
            var bitmapData2:BitmapData = new BitmapData(200, 250, false, 0x000033);
            var bitmapData3:BitmapData = new BitmapData(200, 250, false, 0x000033);
            var bitmapData4:BitmapData = new BitmapData(200, 250, false, 0x000033);
            var bitmapData5:BitmapData = new BitmapData(200, 250, false, 0x000033);

            bitmapData.draw(tx);
            bitmapData1.draw(tx1);
            bitmapData2.draw(tx2);
            bitmapData3.draw(tx3);
            bitmapData4.draw(tx4);
            bitmapData5.draw(tx5);

                         
            var bitmap:Bitmap = new Bitmap();
//prueba CLAB
bitmap.smoothing = true;  
            
            //addChild(bitmap);
            var bitmap1:Bitmap = new Bitmap();
            var bitmap2:Bitmap = new Bitmap();
            var bitmap3:Bitmap = new Bitmap();
            var bitmap4:Bitmap = new Bitmap();
            var bitmap5:Bitmap = new Bitmap();
            
            bitmap.bitmapData = bitmapData;
            bitmap.smoothing = true;
            bitmap1.bitmapData = bitmapData1;
            bitmap1.smoothing = true;
            bitmap2.bitmapData = bitmapData2;
            bitmap2.smoothing = true;
            bitmap3.bitmapData = bitmapData3;
            bitmap3.smoothing = true;
            bitmap4.bitmapData = bitmapData4;
            bitmap4.smoothing = true;
            bitmap5.bitmapData = bitmapData5;
            bitmap5.smoothing = true;
            //addChild(bitmap);
         
         bd0=bitmap.bitmapData;
         bd1=bitmap1.bitmapData;
         bd2=bitmap2.bitmapData;
         bd3=bitmap3.bitmapData;
         bd4=bitmap4.bitmapData;
         bd5=bitmap5.bitmapData;
        imgsSize=bd0.width;
        bdTransform=new BitmapTransformer(imgsSize,imgsSize,20,20);
        
        vertsArray=[];

          facesArray=[];

          numVertices=8;

          numFaces=6;

         setVertices();

          setFaces();
    
          renderView(curTheta,curPhi);
  
         setUpListeners();
      
   
            }
         

Por juramy

Claber

217 de clabLevel

2 tutoriales

 

Programador

msie8
Citar            
MensajeEscrito el 02 Jul 2010 05:51 pm
Pues el problema es exactamente el que yo decía.
Por un lado estás dibujando en el bitmapData el textField trasladado en la coordenada y:

Código ActionScript :

//prueba CLAB 
bitmapData.draw(tx, matrix);

Y más abajo vuelves a dibujar el mismo textField sobre el mismo bitmapData, pero sin trasladar:

Código ActionScript :

bitmapData.draw(tx);

De todos modos el código que yo te puse es un ejemplo sencillo en el que sólo he puesto cómo se dibujaría una cara del cubo, pero tienes que hacer lo mismo para el resto de las caras:

Código ActionScript :

var matrix0:Matrix = new Matrix();
var center0Y:Number = (200 - tx.height)/ 2;
matrix0.translate(0, center0Y);

var matrix1:Matrix = new Matrix();
var center1Y:Number = (200 - tx1.height)/ 2;
matrix1.translate(0, center1Y);

var matrix2:Matrix = new Matrix();
var center2Y:Number = (200 - tx2.height)/ 2;
matrix2.translate(0, center2Y);

var matrix3:Matrix = new Matrix();
var center3Y:Number = (200 - tx3.height)/ 2;
matrix3.translate(0, center3Y);

var matrix4:Matrix = new Matrix();
var center4Y:Number = (200 - tx4.height)/ 2;
matrix4.translate(0, center4Y);

var matrix5:Matrix = new Matrix();
var center5Y:Number = (200 - tx5.height)/ 2;
matrix5.translate(0, center5Y);

Después cambias las líneas que hacen los draw, añadiendo cada matriz como parámetro (pero no tienes que poner esa línea que añadiste antes: "bitmapData.draw(tx, matrix);":

Código ActionScript :

bitmapData.draw(tx, matrix0);
bitmapData1.draw(tx1, matrix1);
bitmapData2.draw(tx2, matrix2);
bitmapData3.draw(tx3, matrix3);
bitmapData4.draw(tx4, matrix4);
bitmapData5.draw(tx5, matrix5);

Por otro lado, piensa que estás dibujando un cubo, luego la altura y anchura de cada cara tiene que ser la misma (es decir, ambas serán 200, no una 200 y la otra 250):

Código ActionScript :

var bitmapData:BitmapData = new BitmapData(200, 200, false, 0x000033);

Y también tienes que fijarte en que estás haciendo que la altura de todos los textField sea de 250, que es mayor que la altura de cada cara, con lo que el centrado no va a quedar bien, así que es mejor que omitas estas líneas para todos los textField:

Código ActionScript :

//tx.height = 250;

Por isidoro

Claber

498 de clabLevel

2 tutoriales

Genero:Masculino  

firefox
Citar            
MensajeEscrito el 05 Jul 2010 04:11 pm


muchas!! gracias master isidro =D eres un genio en este bussine =) ahora pasare a la tercera fase que es jalar el tetxt desde un archivo .txt haber como me va =)

Por juramy

Claber

217 de clabLevel

2 tutoriales

 

Programador

msie8
Citar            
MensajeEscrito el 05 Jul 2010 04:11 pm
perdon isidoro* me comi una "o"

Por juramy

Claber

217 de clabLevel

2 tutoriales

 

Programador

msie8
Citar            
MensajeEscrito el 06 Jul 2010 06:25 am

juramy escribió:

perdon isidoro* me comi una "o"

No pasa nada, es un error muy común. Hay gente que me conoce casi de toda la vida y todavía me llama Isidro xD .

Por isidoro

Claber

498 de clabLevel

2 tutoriales

Genero:Masculino  

firefox

 

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