AlexdwBlog() Desarrollo web, actionscript, javascript y algo más…

8ago/067

Reflejos mediante código

Parece que desde hace algún tiempo se ha puesto de moda las imagenes reflejadas en las web.
La verdad es que no es algo que me guste demasiado, pero aprovechando un momento de aburrimiento he querido utilizar algunas de las funcionalidades de flash 8 que apenas suelo utilizar, tales como las clases de flash.geom y bitmapData.

Con esto he creado una clase que básicamente refleja mediante programación un clip. La utilización de esta es muy sencilla, simplemente tenemos que crear una instancia de la clase y aplicar el efecto:

rf=new efectos.Reflejador(this);
rf.crearReflejo(elemento1,60)

Siendo "this" el objetivo donde crearemos los reflejos
"elemento1", el clip que queremos reflejar y "60" el indice de reflexión

Ejemplo:

Necesita tener instalado flash player 8

Descargar código fuente

Por los foros de After-hours me preguntaban si es posible que funcione con video. Creo que la solucion más optima sería utilizar la misma clase y externamente aplicar un enterFrame, algo como:

this.onEnterFrame=function  () {
this.createEmptyMovieClip("reflejo_mc",1)
rf=new efectos.Reflejador(reflejo_mc);
rf.crearReflejo(elemento1,30)
}

Necesita tener instalado flash player 8

Archivado en: ActionScript, AS2 7 Comentarios
8ene/050

WebExplorer Resizer

Muchas veces, los desarrolladores y diseñadores, caemos en el error de crear webs basadas en Flash para una ventana fija, es decir... si trabajásemos para una resolución de 800x600 nos limitaríamos a tener una pantalla de 760x450 aproximadamente.

Pero, ¿Por qué no utilizar la barra de desplazamiento vertical del Explorador?

Para ello simplemente tendríamos que añadir un código Javascript a nuestro HTML padre e invocar ese Javascript cada vez que queramos redimensionar nuestra película.

25oct/040

Gestión Domestica V0.1

Bueno, este fin de semana, la jefa, (mi mujer :) ) me a tenido trabajando en una pequeña aplicación de gestión domestica... ya se sabe... para comprobar si se llega a fin de mes.

Con esto he aprovechado para utilizar un poco los componentes del 2004 (que nunca uso :( ).

Básicamente la aplicación utiliza php y mysql con los que se imprime un XML (este) que parseamos dentro de flash a un DataGrid.

Cabe decir que me ha ayudado mucho para crear esta aplicación el tutorial "Tutorial de uso del componente Datagrid de Flash MX 2004" de Cristalab.com

En próximos post iré añadiéndole funcionalidades como "Añadir Fechas de ingresos y gastos" o mejorar el sistema de gastos/ingresos periódicos (por ahora solo está desarrollado para añadir tareas puntuales y periódicas con periodicidad de un mes.)

Espero que os sirva de algo. Saludos

- Ejemplo de la aplicación
- Archivos Fuente

11oct/040

Clase Alerta

Lo que haremos con este ejemplo es una clase que se utilizará para lanzar mensajes Alert de Javascript, algo que utilizo muy a menudo para depurar. También nos puede valer si nos queremos ahorrar un poco de tiempo en crearnos nuestra ventana de alerta en entorno flash o no queremos utilizar el componente Alert de Flash MX 2004.

Lo primero que haremos es crearnos un documento AS. Si tenemos flash profesional podemos utilizar su editor u otros editores como el SE|PY... y si eres más valiente el bloc de notas de windows también te valdrá.

En el archivo AS nos crearemos nuestra clase:
[as]class Alerta {
//La variable mensaje sera privada y del tipo cadena
private static var mensaje:String;
//Funcion constructora
function Alerta() {
//Mensaje por defecto
mensaje = "Fatal error!!";
}
//Metodo para lanzar los mensaje
public function lanzar() {
getURL("javascript:alert('"+mensaje+"')");
}
//Metodo para anadir un mensaje
public function set addMensaje(texto) {
mensaje = texto;
}
}[/as]

Cuando guardemos le daremos el nombre de "Alerta.as" (si damos otro, la clase no funcionará) y lo guardaremos en nuestro ClassPatch. En este ejemplo lo hemos guardado directamente en el raíz del classPath para no tener que llamarlo con import.

Ahora nos abriremos un nuevo archivo FLA donde invocaremos nuestra clase:
[as]//Creamos una instancia de la clase Alerta
var miAlerta:Alerta = new Alerta();
//Le damos un mensaje
miAlerta.addMensaje="Esto es una alerta"
//Lanzamos la Alerta
miAlerta.lanzar();[/as]

30sep/040

Creando un Classpath

De todos es sabido que ahora ActionScript 2.0 es más potente, y esta potencia añadida es debido a que ahora este lenguaje está mucho más orientado a objetos.

Como tal, se incluyen nuevas características de la programación orientada a objetos (POO), entre ellas las clases.

Las clases nos van a permitir estructurar nuestro código y poderlo reutilizar con facilidad.

Para que flash pueda localizar los archivos externos .as (clases), debemos tener una ruta de archivos (Classpath), así podremos ordenar nuestras clases en paquetes.

Por defecto Flash incluye su Classpath, que varia según tu sistema operativo, aunque es más cómodo crearnos nuestros propios directorios de clases.

Para añadir más rutas de clases debemos acceder a:

Edición/Preferencias/ActionScript/Configuración de AS 2

Nos aparecerá un cuadro de diálogo donde podremos establecer la ruta del directorio de clases.

Seleccion de ruta de Clases

Para acceder a las clases desde Flash solamente tendremos que poner:

import paquete.clase;

Si quisiéramos incluir todas las clases de un paquete lo que haríamos sería:
import paquete.*

La utilización de un Classpath nos hace la vida más facil a los programadores a la hora de reutilizar código de una manera facil.