Esta es la segunda versión de la galeria esférica. Para mi gusto queda mejor. De todas formas, estoy trabajando es una tercera versión, con suavizado y sombras, que todavia no está terminada. De momento estas son las especificaciones de esta:
ESPECIFICACIONES
Lenguaje: Actionscript 3.0 y XML
Compatibilidad: Flash Player 9 o superior
Imágenes: Para esta demo he conectado la galería con la cuenta de Flickr de Lola
Peso: 68KB
Etiquetas: MouseEvent MOUSE_MOVE Point localToGlobal mouseX mouseY
Este tutorial es muy sencillo, pero cuando empecé a aprender flash hace 5 o 6 años, estaban "de moda" los tutoriales de este tipo.
Se solía hacer para que una serie de letras siguieran al puntero, con diferentes movimientos y tipos de easing. Para crear un elemento que siga al puntero, sólo hay que seguir los siguientes pasos:
1/ Creamos el Símbolo (en este caso una mosca) y lo linkamos a una clase (en este caso "Seguidor")
2/En la clase Seguidor, añadimos un evento que detecte el movimiento del ratón:
stage.addEventListener(MouseEvent.MOUSE_MOVE,mover);
3/En la función mover, recogemos las coordenadas del ratón (que son las locales del objeto) y las convertimos en globales:
var punto:Point = localToGlobal(new Point(mouseX,mouseY));
4/Colocamos el objeto en el nuevo punto:
x = punto.x;y = punto.y;Etiquetas: Date getMonth getDate getFullYear
Esta función sirve para comprobar si la diferencia en años entre dos fechas, es mayor o igual que cierto número, pasado como parámetro.Sirve para AS2 y AS3.
Por ejemplo, si tenemos que comprobar en un formulario si alguien tiene más de 18 años, tendremos que hacer lo siguiente:
//Creo un objeto Date con los datos del formulariovar nacimiento:Date = new Date(1920, 6, 10);
//Creo un objeto Date con los datos de hoyvar hoy:Date = new Date();
//Llamo a la funcion, pasando como parametro la edad (18) que quiero comparar y //las dos fechastrace(comprobarMayor(18,nacimiento,hoy));
La función comprobarMayor, consta de 3 lineas:
-En la primera, comprobamos si este año ya ha pasado la fecha metida en el formulario
-En la segunda, calculamos el número de años, que depende de si en el año en curso ha pasado la fecha o no.
-La tercera devuelve true si la persona tiene igual o mayor edad de la pasada como parámetro, y false si es menor.
La función es esta:Etiquetas: Shape lineStyle moveTo clear removeEventListener doubleClickEnabled
Uno de los ejercicios típicos que se suelen hacer al comenzar a programar en Actionscript, es una pizarra.
En Actionscript 3.0 tenenmos que utilizar la clase Graphics. Podemos pintar dentro de cualquier objeto de visualización que tenga el atributo graphics (Shape, Sprite, MovieClip).
Lo primero que tenemos que hacer es definir el estilo de linea (color,grosor, etc) que vamos a utilizar en nuestro objeto. En este ejemplo vamos a dibujar en un Shape definido por la variable pizarra, por lo que podemos definir su estilo de linea asi:
pizarra.graphics.lineStyle(10,0x000000);
Ahora tenemos el pincel en (0,0), con un grosor de 10 y color negro. Si queremos pintar una linea desde (100,100) hasta (200,200), tenemos que mover el pincel hasta (100,100). Para ello usamos la función moveTo(x,y);
pizarra.graphics.moveTo(100,100);
Y ahora dibujamos la linea con lineTo:
pizarra.graphics.lineTo(200,200);
Por último, si queremos borrar lo dibujado, utilizamos la función clear():
pizarra.graphics.clear();
Hay que tener en cuenta que esta función borra además las definiciones de estilo de linea y relleno, por lo que antes de seguir dibujando debemos volver a hacerlas.
Etiquetas: Sprite Shape MovieClip
En Actionscript 3.0 tenemos la posibilidad de trabajar con varios tipos de display objects. Esto es un intento de explicar cuales son las diferencias entre ellos y para qué se pueden utilizar:
-MovieClip: La clase MovieClip hereda de la clase Sprite. Es decir: todos los atributos y métodos de Sprite, los tiene MovieClip. Además los MovieClips incluyen linea de tiempo, y las propiedades y métodos asociados. Por ejemplo MovieClip incluye los métodos play(), stop(), gotoAndPlay(), nextFrame(), etc... y las propiedades currentFrame, currentLabel, scenes, totalFrames, etc...
-Sprite: como un MovieClip pero sin linea de tiempo. Es decir, un Sprite puede utilizarse como contenedor de objetos, almacenar variables, y recibir eventos. Lo único que no se puede hacer es manipular su linea de tiempo, ya que no tiene.
-Shape: como un Sprite pero sin interactividad de ratón ni teclado. Tampoco pueden contener objetos de visualización secundarios. Se suelen utilizar para dibujar dentro de ellos, ya que poseen el atributo graphics.
Etiquetas: Microphone Security getMicrophone showSettings setLoopBack
Etiquetas: Viewport3D BasicRenderEngine interactive animated MovieAssetMaterial
En Papervision greatWhite podemos añadir eventos a los elementos 3D .
Otra opción es crear los elementos 3D a partir de MovieClips interactivos que tienen asociados eventos. Por ejemplo, tenemos un MovieClip con tres botones dentro, y creamos una esfera con ese MovieClip como material. Para que se respeten los eventos de ese clip al convertirlo en material3D, debemos configurar los siguientes parámetros:
-al crear la instancia de Viewport3D debemos especificar que es interactivo:
//los parametros son: (ancho,alto,autoEscalar,interactivo) viewport = new Viewport3D(400,400,false,true);
-al crear el material debemos especificar que es interactivo y animado:
//los parametros son: (ID de linkage,transparente,animado)var material:MovieAssetMaterial = new MovieAssetMaterial("MenuPPV",true,true);
material.interactive = true;
Tras el salto, el código completo y la demo.
ESPECIFICACIONES
Lenguaje: Actionscript 3.0 y XML
Compatibilidad: Flash Player 9 o superior
Imágenes: Para esta demo he conectado la galería con la cuenta de Flickr de Lola
Peso: 36KB
Etiquetas: MouseEvent DOUBLE_CLICK doubleClickEnabled
Una de las novedades que trajo Actionscript 3.0 fué que el evento "doble click" ya venía implementado.
Para utilizarlo hay que hacer dos cosas:
-Activar la propiedaddoubleClickEnabled