TypeConverter 3D (AS 3.0 + Papervision 2.0)

typeconverter 3D

Hola a todos!

Espero que estéis todos bien! ya tenía ganas de volver por aquí :p
La verdad es que debido al aumento de trabajo y a cambios importantes en mi vida, mi frecuencia por aquí fue reduciéndose a cenizas…y después de tantos meses sin postear nada, ahora que tenia un poco de tiempo, he realizado un mini ejercicio con AS3 y papervision que me gustaria compartir con vosotros para que os lo podáis descargar para testear, estudiarlo o lo que queráis. Se llama TypeConverter 3D, y es un motor para escribir letras pixel en 3D, puedes borrarlas, ampliarlas con el zoom, activar la cámara para que se mueva respecto al ratón, crear una esfera, etc…

El motor está programado con AS3 y la versión 2.0 de Papervision. El zip consta de un archivo fla, las clases de caurina para las transiciones, el paquete de papervision,
y dentro de la carpeta com, hay una carpeta kaax que es donde encontraréis las 3 clases que he desarrollado para esta mini experiencia.

Esto es un ejemplo de lo que podéis hacer:

Si queréis retocar la tipografia, tenéis que abrir el archivo Abecedario.as y en los arrays correspondientes de cada letra, podéis cambiar el 1 por 0 y viceversa.
Incluso puede que os salgan abecedarios para marcianos :)

Le tecla “DEL” borra las letras que hayas escrito pixel3D por pixel3D.

Aquí os dejo parte de la clase Abecedario.


/*
  
   * TYPECONVERTER 3D
   *
   * @author    Isaac León (KAAX)
   * @version    1.0.0
   * @code    AS 3.0
   * @email    hola@isaacleon.com
   * @url        www.isaacleon.com
   * @blog      www.isaacleon.com/blog
  
  */
package com.kaax.clases {
  
  
    public class Abecedario
  {
 
        
        private var a_,b_,c_,d_,e_,f_,g_,h_,i_,j_,k_,l_,m_,
        n_,o_,p_,q_,r_,s_,t_,y_,v_,u_,w_,x_,y__,z_,
        arrays:Array;
    
        public function Abecedario()
    {
      init();
    }
    private function init():void{
      
      
      
      
        a_=new Array(1,1,1,1,1,
               1,0,0,0,1,
               1,0,0,0,1,
               1,1,1,1,1,
               1,0,0,0,1);
                    
         a_.name = "a";                    
                    
        b_=new Array(1,1,1,1,0,
               1,0,0,0,1,
               1,1,1,1,0,
               1,0,0,0,1,
               1,1,1,1,0);
        
        b_.name = "b";  
                    
        c_=new Array(1,1,1,1,1,
               1,0,0,0,0,
               1,0,0,0,0,
                 1,0,0,0,0,
               1,1,1,1,1);
         c_.name = "c";
        
         d_=new Array(1,1,1,1,0,
                1,0,0,0,1,
                1,0,0,0,1,
                1,0,0,0,1,
                1,1,1,1,0);
         d_.name = "d";      
        
        e_=new Array(1,1,1,1,1,
               1,0,0,0,0,
               1,1,1,1,0,
               1,0,0,0,0,
               1,1,1,1,1);
                    
         e_.name = "e";    
        
        f_=new Array(1,1,1,1,1,
               1,0,0,0,0,
               1,1,1,1,0,
               1,0,0,0,0,
               1,0,0,0,0);
        f_.name = "f";  
        
        g_=new Array(1,1,1,1,1,
                 1,0,0,0,0,
               1,0,1,1,1,
               1,0,0,0,1,
               1,1,1,1,1);
                    
         g_.name = "g";                      
        h_=new Array(1,0,0,0,1,
               1,0,0,0,1,
               1,0,0,0,1,
               1,1,1,1,1,
               1,0,0,0,1);
                    
        h_.name = "h";      
        
        i_=new Array(1,1,1,1,1,
               0,0,1,0,0,
               0,0,1,0,0,
               0,0,1,0,0,
               1,1,1,1,1);
                    
        i_.name = "i";                        
        j_=new Array(0,0,0,0,1,
               0,0,0,0,1,
               1,1,1,0,1,
               0,1,0,0,1,
               0,1,1,1,1);
                    
         j_.name = "j";
        
        k_=new Array(1,0,0,0,1,
               1,0,0,1,0,
               1,1,1,0,0,
               1,0,0,1,0,
               1,0,0,0,1);
                    
        k_.name = "k";  
        
        l_=new Array(1,0,0,0,0,
                 1,0,0,0,0,
               1,0,0,0,0,
               1,0,0,0,0,
                 1,1,1,1,1);
        l_.name = "l";                        
                    
        m_=new Array(1,1,1,1,1,
               1,0,1,0,1,
               1,0,1,0,1,
                 1,0,0,0,1,
                 1,0,0,0,1);
                    
         m_.name = "m";    
        
        n_=new Array(1,1,1,1,0,
               1,0,0,0,1,
               1,0,0,0,1,
               1,0,0,0,1,
               1,0,0,0,1);
                    
         n_.name = "n";    
        
        o_=new Array(0,1,1,1,0,
               1,0,0,0,1,
               1,0,0,0,1,
                 1,0,0,0,1,
               0,1,1,1,0);
         o_.name = "o";                      
                    
        p_=new Array(1,1,1,1,0,
                 1,0,0,0,1,
               1,0,0,0,1,
               1,1,1,1,0,
               1,0,0,0,0);
        p_.name = "p";                        
                    
        q_=new Array(0,1,1,1,0,
                 1,0,0,0,1,
               1,0,0,0,1,
               1,0,1,0,1,
               0,1,1,1,0);
        q_.name = "q";      
        
        r_=new Array(1,1,1,1,0,
               1,0,0,0,1,
                 1,0,0,0,1,
                 1,1,1,1,0,
               1,0,0,0,1);
         r_.name = "r";                      
                    
        s_=new Array(0,1,1,1,1,
               1,0,0,0,0,
                 0,1,1,1,0,
               0,0,0,0,1,
                 1,1,1,1,0);
        s_.name = "s";                        
                    
        t_=new Array(1,1,1,1,1,
                 0,0,1,0,0,
                 0,0,1,0,0,
               0,0,1,0,0,
               0,0,1,0,0);  
         t_.name = "t";                      
                  
                  
        u_=new Array(1,0,0,0,1,
               1,0,0,0,1,
               1,0,0,0,1,
                 1,0,0,0,1,
                 0,1,1,1,0);
         u_.name = "u";                      
                    
        v_=new Array(1,0,0,0,1,
               1,0,0,0,1,
                 1,0,0,0,1,
                 0,1,0,1,0,
                 0,0,1,0,0);  
        v_.name = "v";                        
                    
        w_=new Array(1,0,0,0,1,
               1,0,0,0,1,
                 1,0,1,0,1,
                 1,0,1,0,1,
               0,1,0,1,0);
        
        w_.name = "w";  
                    
        x_=new Array(1,0,0,0,1,
               0,1,0,1,0,
               0,0,1,0,0,
               0,1,0,1,0,
                 1,0,0,0,1);
                    
        x_.name = "x";                        
        y__=new Array(1,0,0,0,1,
                0,1,0,1,0,
                0,0,1,0,0,
                0,0,1,0,0,
                0,0,1,0,0);
        
                    
        y__.name = "y";                        
        z_=new Array(1,1,1,1,0,
               0,0,0,0,1,
               0,1,1,1,0,
               1,0,0,0,0,
               0,1,1,1,1);
        z_.name = "z";  
              arrays=new Array(a_,b_,c_,d_,e_,f_,g_,h_,i_,j_,k_,l_,m_,
                                n_,o_,p_,q_,r_,s_,t_,u_,v_,x_,w_,y__,z_);
      
    }
    
    // FUNCION QUE DEVUELVE EL ARRAY CORRESPONDIENTE DE COORDENADAS
                    EN RELACION A LA TECLA PULSADA POR EL USUARIO
 
    public function returnArray(tecla:String):Array{
      var encontrado:Boolean=false;
      for(var i:uint=0;i<this .arrays.length;i++){
        
        trace(arrays[i].name);
        if(arrays[i].name==tecla){
          encontrado=true;
          return arrays[i];
        }
      }
      return null;
    }
  }
}

Soy consciente de que se podrian hacer mil cosas más para mejorarlo, pero tanto, tanto tiempo ya no tengo jejeje. Así que espero que lo disfrutéis y si os ayuda en algo, mejor que mejor.

Aquí os dejo los enlaces.

Un saludo a todos!

Ver TypeConverter3D
Descargar TypeConverter3D

7 Responses to “TypeConverter 3D (AS 3.0 + Papervision 2.0)”

  1. Alrevez Says:

    Me gustó mucho el ejercicio y esta super para aprender un poco de papervision

  2. hardface Says:

    Hey tio! wasuppp

    COJONUDO! muy bueno tio! todo un currito los arrays de cada caracter! hehehee Genial tio.

  3. Shearer Says:

    Que chulo kaax!! es una pasada! muchas gracias por compartirlo!

  4. Administrador Says:

    Me alegro de que os guste :)

    Hardface, lo de los arrays era como imaginar que juegas a hundir la flota jeje,
    en realidad era como tener un grid imaginario de 5×5 e ir poniendo números”uno” en el lugar correspondiente al pixel. Más o menos me ocupó media hora para traducir las coordenadas, me hice una plantilla desde el photoshop y al final muchas letras tenian como base la de otras, por lo que agilizaba el proceso y además te lo pasabas bien creando tu tipografia.

    Un saludo a los tres!

  5. hardface Says:

    sí tio, eso me recuerda a cuando se hacian gráficos con el ZX Spectrum con DATA en binario…. 0 y 1 hahahahaa

    un saludo !

  6. Chema Says:

    Que bueno el ejemplo, pero mejor volver a verte escribir.

    Un saludo

  7. Xavi Says:

    Muy buen ejercicio, no se de donde sacas tiempo, me dejas impresionado.

Leave a Reply