Entrevista en Ameets
Posted by Administrador | Filed under Personales

Después de pasar unas semanas en Buenos Aires, por fin vengo con las pilas un poco más cargadas. En el siguiente post os escribo para recomendaros una nueva comunidad creativa, Ameets. En ella podréis ver muchísimos trabajos, valorarlos, crear contactos y debatir lo que se os ocurra.
Os dejo también una pequeña entrevista que me hicieron los chicos de Ameets y aprovecho la ocasión para mandarles un saludo y agradecerles su interés, fue un placer colaborar para ellos.
Así que ya sabéis, si queréis conocer gente creativa de todo tipo, Ameets es una muy buena propuesta.
Forever Young
Posted by Administrador | Filed under Publicidad, Videoclips

Ojalá tantas cosas pudieran resumirse en tan solo dos palabras. Aquí os enlazo dos vídeos para que los disfrutéis, para que os inspiréis, para que lo mandéis todo a la mierda, para que VIVÁIS.
Original.
Seat 25º Aniversario.
GoogleMaps + AS3
Posted by Administrador | Filed under Actionscript 3.0

Hola a todos, aquí os dejo un ejemplo para que os lo podáis descargar y trastear,
se trata de un mini ejercicio para poder insertar googlemaps en flash. Decir que está
programado con AS3. He deshabilitado opciones que tenia más desarrolladas para que fuera más sencillo de entender y no liaros tanto. Podéis hacer zoom, hacer una búsqueda, cambiar de vista, moveros por el dragPanel, y ver como se posiciona una marca customizada.
Este seria el código que como veréis no es muy complejo ni muy largo. Más adelante quizás incorporo alguna utilidad más como poner videos o que se yo :p…
/*
* BUSCADOR GOOGLE MAPS WITH AS3
*
* @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 {
//IMPORTS//////////////////////////////////////////////////////////////////////////////////////////////////////////////
import com.google.maps.controls.*;
import com.google.maps.styles.FillStyle;
import com.google.maps.styles.StrokeStyle;
import flash.display.Sprite;
import flash.events.Event;
import flash.display.MovieClip;
import flash.events.MouseEvent;
import flash.geom.*;
import com.google.maps.LatLng;
import com.google.maps.Map;
import com.google.maps.MapEvent;
import com.google.maps.MapMouseEvent;
import com.google.maps.MapType;
import com.google.maps.services.ClientGeocoder;
import com.google.maps.services.GeocodingEvent;
import com.google.maps.overlays.Marker;
import com.google.maps.overlays.MarkerOptions;
import com.google.maps.InfoWindowOptions;
import flash.display.Stage;
public class Buscador{
//INICIALIZAMOS VARIABLES//////////////////////////////////////////////////////////////////////////////////////////////////////////////
// ESTA APPYKEY TENÉIS QUE CAMBIARLA POR LA VUESTRA PARA QUE ESTÉ ASOCIADA A VUESTRO DOMINIO
private var appyKey:String ="ABQIAAAA6wzkJ5pSCnsden7rffzX1BSZMDsZNlBtwbn4yRg11-JRawRw8BSe_1VnBDtJk4ejkS6488Fc0fGzgQ";
private var map:Map;
private var punto:Marker;
private var geo:ClientGeocoder;
private var gps:MovieClip;
private var control:MovieClip;
private var mcStage:Stage;
public function Buscador( _mc:Sprite, control:MovieClip, gps:MovieClip){
this.mcStage = _mc.stage;
this.control=control;
this.gps=gps;
}
//INICIAMOS LOS OBJETOS EN ESCENA
public function main():void {
// CREAMOS UN CONTENEDOR PARA EL MAPA
var puntoMapa:MovieClip = new MovieClip();
puntoMapa.x = 235;
puntoMapa.y = 175;
this.mcStage.addChild(puntoMapa);
//AÑADIMOS EL MAPA A SU CONTENEDOR
map = new Map();
map.key = appyKey;
map.setSize(new Point(573, 420));
map.addEventListener(MapEvent.MAP_READY, iniciarMapa);
puntoMapa.addChild(map);
//AÑADIMOS AL ESCENARIO LOS DOS ASSETS, LA PANTALLA DEL GPS Y EL PANEL DE CONTROL
gps.buttonMode = false;
gps.mouseChildren = false
gps.x = 133;
gps.y = 60;
this.mcStage.addChild(gps);
gps.mouseEnabled = false;
control.x = 133;
control.y = 60+gps.height;
this.mcStage.addChild(control);
control.bt_buscar.buttonMode=true;
}
public function colocamosPuntoInicial():void{
map.clearOverlays();
//CREAMOS ESTILOS PARA EL PUNTO
var estilos:MarkerOptions = new MarkerOptions({
strokeStyle: {
color: 0×8F053D
},
fillStyle: {
color: 0×000000,
alpha: 0.8
},
label: "Hi ! ",
labelFormat: {
color: 0xffffff,
size:20,
bold: true
},
radius: 32,
hasShadow: true,
clickable: false,
draggable: true,
gravity: 0.5,
distanceScaling: false
});
// CREAMOS UN PUNTO EN EL LUGAR ESPECIFICADO
punto= new Marker(new LatLng(41.387917,2.1699187),estilos);
//TEXTO PARA EL TOOLTIP
var fraseTooltip:String = "Bienvenido a Barcelona!" ;
// SI PULSAS LA MARCA APARECE EL TOOLTIP CON EL MENSAJE DE TEXTO
punto.addEventListener(MapMouseEvent.CLICK, function(event:MapMouseEvent): void {;
map.openInfoWindow(event.latLng, new InfoWindowOptions({tailAlign: InfoWindowOptions.ALIGN_CENTER, contentHTML:fraseTooltip }));
});
map.addOverlay(punto);
}
// INICIALIZAMOS EL MAPA
public function iniciarMapa(event:Event):void {
map.removeEventListener(MapEvent.MAP_READY, iniciarMapa);
map.enableContinuousZoom();
map.enableScrollWheelZoom();
map.setCenter(new LatLng(41.387917,2.1699187), 14, MapType.NORMAL_MAP_TYPE);
//COLOCAMOS LA LANGITUD Y LA LATITUD EN EL PANEL DE CONTROL CON SOLO 3 DECIMALES
control.long.text = (41.387917).toFixed(3);
control.lat.text = (2.1699187).toFixed(3);
colocamosPuntoInicial();
//AÑADIMOS CONTROLES AL MAPA
map.addControl(new OverviewMapControl());// CONTROL PARA ARRSTRAR EL MAPA POR ZONAS
map.addControl(new MapTypeControl());// CONTROLES PARA CAMBIAR LAS VISTAS
map.addControl(new PositionControl());// CONTROLES PARA NAVEGAR DE FORMA DIRECCIONAL
map.addControl(new ZoomControl());// CONTROLES PARA EL ZOOM
//INICIALIZAMOS EL OBJETO CLIENTGEOCODER
geo = new ClientGeocoder();
// BOTON DE BUSQUEDA
control.bt_buscar.addEventListener(MouseEvent.CLICK, buscar);
// EN CASO DE ÉXITO O ERROR, LLAMAREMOS ACTUAREMOS DEPENDIENDO DEL RESULTADO
geo.addEventListener(GeocodingEvent.GEOCODING_SUCCESS, exitoBusqueda);
geo.addEventListener(GeocodingEvent.GEOCODING_FAILURE, errorBusqueda);
}
public function buscar(event:Event):void {
//LLAMAMOS A LA FUNCION QUE NOS DEVUELVE LA LATITUD Y LA LONGITUD DE UNA DIRECCIÓN BUSCADA
geo.geocode(control.direccion.text);
control.mensaje.text = "BUSCANDO...";
}
public function errorBusqueda(event:GeocodingEvent):void {
//DAMOS UN MENSAJE DE ERROR EN EL CASO DE NO ENCONTRAR UNA DIRECCION
control.mensaje.text = "DIRECCION INCORRECTA";
}
public function exitoBusqueda(event:GeocodingEvent):void {
//OCULTAMOS MENSAJE DE BUSCANDO
control.mensaje.text = "";
//SI SE HA ENCONTRADO LA DIRECCIÓN COLOCAMOS UNA MARCA Y COMO ES POSIBLE QUE HAYAN VARIOS LUGARES
//QUE SE LLAMEN DE LA MISMA FORMA, COLOCAREMOS EL PRIMER RESULTADO DEL ARRAY
if (event.response.placemarks.length > 0) {
map.clearOverlays();
//CENTRAMOS EL MAPA EN LA DIRECCIÓN BUSCADA CON EL ZOOM QUE LE INDIQUEMOS
map.setCenter(event.response.placemarks[0].point, 7);
//CREAMOS ESTILOS PARA EL PUNTO
var estilos:MarkerOptions = new MarkerOptions({
strokeStyle: {
color: 0×8F053D
},
fillStyle: {
color: 0×000000,
alpha: 0.8
},
label: "Hi ! ",
labelFormat: {
color: 0xffffff,
size:14,
bold: true
},
radius: 26,
hasShadow: true,
clickable: false,
draggable: false,
gravity: 0.5,
distanceScaling: false
});
// CREAMOS UN PUNTO EN EL LUGAR ESPECIFICADO Y LE PASAMOS ESTILOS
punto= new Marker(event.response.placemarks[0].point,estilos);
//TEXTO PARA EL TOOLTIP
var html:String = "Bienvenido a " + control.direccion.text;
// SI PULSAS LA MARCA APARECE EL TOOLTIP CON EL MENSAJE DE TEXTO
punto.addEventListener(MapMouseEvent.CLICK, function(event:MapMouseEvent): void {
map.openInfoWindow(event.latLng, new InfoWindowOptions({tailAlign: InfoWindowOptions.ALIGN_CENTER, contentHTML:html }));
});
//AÑADIMOS PUNTO
map.addOverlay(punto);
}
//COLOCAMOS LA LANGITUD Y LA LATITUD EN EL PANEL DE CONTROL CON SOLO 3 DECIMALES
control.long.text = (event.response.placemarks[0].point.lng()).toFixed(3);
control.lat.text = (event.response.placemarks[0].point.lat()).toFixed(3);
}
}
}
Espero que os guste!
saludos!
Ver Buscador
Descargar Buscador
Feliz 2009
Posted by Administrador | Filed under Personales
Bueno, después de lavarle la cara al blog,que ya le tocaba por cierto :p, aprovecho la ocasión para felicitaros a todos el año nuevo. Así que ahí va!
Feliz año a todos y espero estar más por aquí este año…
saludos!!
me cargué el diseño del blog :P
Posted by Administrador | Filed under Personales
no se que he tocado, que al actualizar perdí el diseño, shit!
mientras dejo la versión en pelotas XDDD…hay que ser torpe..
Making of (tutorial)
Posted by Administrador | Filed under Arte, Cool, Diseño

Hola a todos! ha pasado muchísimo tiempo… la verdad es que con tanto trabajo cada vez cuesta más dedicar el tiempo que merece un blog, pero bueno, aún así, queria compartir con vosotros un tutorial de photoshop que he creado sobre uno de mis últimos proyectos. El objetivo de este tutorial es dejar ver un poco por encima el proceso que abarca desde la idea de origen hasta la gráfica final. Como siempre había posteado tutoriales de actionscript, creí que ya iba siendo hora que me currara algo para los que como yo, también diseñan.
Y nada, espero que os guste y que os pueda servir.
Un saludo a todos!
Ecualizador 3D (AS 3.0 + Papervision 2.0)
Posted by Administrador | Filed under Actionscript 3.0, Arte, Diseño

Hola de nuevo,
aquí os dejo otro ejercicio en AS3 y Papervision, esta vez jugando con el sonido, unos cubos que interactuan segun la clase SoundMixer.computeSpectrum.
He creado un deslizador para que podáis rotarlo. Las clases estan en la carpeta com.kaax.clases.* , una es la clase Ecualizador, con
todo lo que necesitáis para el 3D, el drag del deslizador, y el movimiento por sonido. Y luego, la clase MiStage, que es tan solo para
reposicionar.
Este seria la clase Ecualizador
/*
* ECUALIZADOR 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 {
import org.papervision3d.scenes.*;
import org.papervision3d.cameras.*;
import org.papervision3d.objects.*;
import org.papervision3d.objects.special.*;
import org.papervision3d.objects.primitives.*;
import org.papervision3d.materials.*;
import org.papervision3d.materials.special.*;
import org.papervision3d.materials.shaders.*;
import org.papervision3d.materials.utils.*;
import org.papervision3d.lights.*;
import org.papervision3d.render.*;
import org.papervision3d.view.*;
import org.papervision3d.events.*;
import org.papervision3d.core.utils.*;
import org.papervision3d.core.utils.virtualmouse.VirtualMouse;
import flash.display.*;
import flash.events.*;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.media.*;
import flash.display.Stage;
import flash.utils.*;
import caurina.transitions.*;
public class Ecualizador{
private var cancion:String;
private var _background:MovieClip;
private var _mc:Sprite;
private var logo:MovieClip;
private var cubo:MovieClip;
private var cubo2:MovieClip;
private var request:URLRequest;
private var sonido:Sound;
private var chan:SoundChannel;
private var mcStage:Stage;
private var bt_desliza:MovieClip;
private var duracion:MovieClip;
private var carril:MovieClip;
private var viewport:Viewport3D;
private var render:BasicRenderEngine;
private var scene:Scene3D;
private var camera:Camera3D;
private var miMaterial1:MovieMaterial;
private var miMaterial2:MovieMaterial;
private var currentTime:Number;
private var arrayCubos:Array;
private var bits:ByteArray;
private var totalSpacio:int;
private var anchura:Number;
private var arrayClips:Array;
private var cuantosCubosSpectrum:Number;
private var tiempo:Timer;
private var xDist:int;
private var yDist:int;
private var deslizando:Boolean;
private var xFinal:int;
private var yFinal:int;
private var mX:int;
private var soundMixer:SoundMixer;
public function Ecualizador(_mc:Sprite,_background:MovieClip,cancion:String,logo:MovieClip,
cubo:MovieClip,cubo2:MovieClip,bt_desliza:MovieClip,duracion:MovieClip,carril:MovieClip):void{
this._mc = _mc;
this.mcStage = _mc.stage;
this._background = _background;
this.logo = logo;
this.cubo = cubo;
this.cubo2 = cubo2;
this.cubo = cubo;
this.bt_desliza = bt_desliza;
this.duracion = duracion;
this.carril = carril;
this.cancion=cancion;
initStage();
initVariables();
construye2carasCubo();
construyeSpectrum();
}
public function initStage():void {
var miStage:com.kaax.clases.MiStage=new com.kaax.clases.MiStage(this._mc,_background,bt_desliza,logo,duracion,carril);
}
private function initVariables():void {
this.viewport= new Viewport3D(0, 0, true, true);
this._mc.addChild(viewport);
this.render= new BasicRenderEngine();
this.scene= new Scene3D();
this.camera= new Camera3D();
this.camera.zoom = 4;
this.camera.focus = 100;
this.camera.y = 500;
this.camera.x = -2000;
this.currentTime=0;
this.arrayCubos=new Array();
this.bits= new ByteArray();
this.totalSpacio=1760;
this.arrayClips=new Array();
this.request= new URLRequest(this.cancion);
this.sonido= new Sound();
this.sonido.load(this.request);
this.chan= this.sonido.play();
this.cuantosCubosSpectrum=6;
this.deslizando=false;
//this.soundMixer=new SoundMixer();
this.tiempo=new Timer(100);
}
private function rango(numeroMin:Number, numeroMax:Number):Number {
return Math.floor(Math.random() * numeroMax - numeroMin + 1) + numeroMin;
}
private function construye2carasCubo():void{
miMaterial1= new MovieMaterial(this.cubo);
miMaterial1.interactive = false;
miMaterial1.smooth = false;
miMaterial1.animated = false;
miMaterial2= new MovieMaterial(this.cubo2);
miMaterial2.interactive = false;
miMaterial2.smooth = false;
miMaterial2.animated = false;
}
private function construyeSpectrum():void{
for (i:int=0; i < cuantoscubosspectrum ; i+=1) {
var miCubo:Cube = new Cube(new MaterialsList({front:miMaterial1, back:miMaterial1, all:miMaterial2}), 1420, 1450, 1450, 6,6,6);
scene.addChild(miCubo);
var miX=i*100;
miCubo.scaleX=cubo.scaleY=0.1;
Tweener.addTween(miCubo, {x:miX,scaleX:1,scaleY:1, z:2900, delay:i*0.2, time: 1.2, transition:"easeinoutquint"});
render.renderScene(scene, camera, viewport);
arrayCubos[i]=miCubo;
}
iniciaTemporizadorSpectrum();
iniciaDrag();
}
private function iniciaTemporizadorSpectrum():void{
this.tiempo.addEventListener(TimerEvent.TIMER, refrescarSpectrum);
this.tiempo.start();
}
private function refrescarSpectrum(event:TimerEvent):void{
SoundMixer.computeSpectrum(bits, true);
currentTime = chan.position;
duracion.scaleX=currentTime/sonido.length;
var j:int;
var anchura:uint = 1;
for (j=0; j < cuantosCubosSpectrum; j+=1) {
var conversion_:Number = bits.readFloat();
var desplazamiento:Number = (conversion_ * 5);
var cubo:Cube=arrayCubos[j];
cubo.x=3400+j*1760;
Tweener.addTween(cubo, {scaleY:desplazamiento, time: 0.3, transition:"easeinoutquint"});
render.renderScene(scene, camera, viewport);
}
}
private function desliza(deslizador:Sprite):void{
if (deslizando){
deslizador.x = this._mc.mouseX;
camera.zoom=+this._mc.mouseX/300+5;
for(var i:Number=0 ; i < cuantosCubosSpectrum ; i++){
var cubo=arrayCubos[i];
cubo.rotationX = -this._mc.mouseY/4;
cubo.rotationY = -this._mc.mouseX/4;
}
}
}
private function iniciaDrag():void{
this.mcStage.addEventListener(Event.ENTER_FRAME, dragEnterFrame)
this.mcStage.addEventListener(MouseEvent.MOUSE_DOWN, dragMouseDown)
this.mcStage.addEventListener(MouseEvent.MOUSE_UP, dragMouseUp)
bt_desliza.buttonMode=true;
}
private function dragEnterFrame(event:Event) {
desliza(this.bt_desliza)
}
private function dragMouseDown(event:MouseEvent):void {
deslizando = true;
}
private function dragMouseUp(event:MouseEvent) {
deslizando = false;
}
}
}
Y nada, espero que os guste.
Aquí os dejo los enlaces.
Un saludo!
Ver Ecualizador3D
Descargar Ecualizador3D
TypeConverter 3D (AS 3.0 + Papervision 2.0)
Posted by Administrador | Filed under Actionscript 3.0, Arte, Diseño, Eventos, Filosofia, Publicidad

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
The Doll
Posted by Administrador | Filed under Cortometrajes, Publicidad
The Doll es un cortometraje que trata sobre la muerte, el deseo y los robots, inspirado en el famoso Real Doll “juguetes sexuales” para el sello de lencería Lascivious y que está producido por Wyld Stallyons. La verdad es que su puesta en escena no te deja indiferente, es bastante diferente al resto de campañas de lenceria femenina. Así que aquí os dejo el enlace para compartirlo.
Consejos tipográficos (Galería)
Posted by Administrador | Filed under Arte, Diseño, Personales
Consejos tipográficos es mi primera galería, entre comillas, de arte. Nace como una prueba de experimentación. Últimamente siento una necesidad abismal por plasmar lo que sea, y estos cuadros que veréis a continuación es fruto de un sábado inundado de inspiración. Salieron uno tras otro, sin poder parar y viendo el resultado tenía curiosidad por saber que más vendría. En los cuadros utilizo la tipografía como medio de expresión para realzar emociones, consejos a quiénes fueron dedicados. Las medidas son de 150 cm x 80 cm. Espero que os guste.