Me encontré con un man que se tira cosas rosadas, y hace cosas raras en internet.
Vacano el sitio del man, por acá se los dejo.
Click en la imagen.

Hola revisando por ahí buscando cosas interesantes hechas en flash, encontre una página de un personaje bastante interesante. Es una especie de evagenlizador de flash que próximamente estara visitando nuestro país en su moto y dando cursos de flash. Para los que quieran unirse a la causa, click en la imagen.
Para las páginas que necesitan un destacado en el home, acá se ofrece una posibilidad para crear un contenedor administrable y de facil configuración.
Explicación de funcionamiento:
● El componente tiene siempre 3 banners fijos, 2 banners aparecen inicialmente colapsados (“minimizados”), mientras que en el medio aparece un banner central destacado.

● Cuando el usuario mueve el mouse por encima de cada banner, el banner realiza un movimiento de transición y pasa a ser protagonista, trayendo al frente del usuario la información completa que contiene.

● Cada banner es un archivo independiente, con animaciones y eventos propios dentro del contenedor.
Archivos utilizados:
● contenedorv2.fla : Archivo fuente del contenedor.
● banners.xml: Archivo xml, contiene la información de los banners que se van a cargar en el contenedor.
● contenedorv2.swf : Archivo ejecutable el cual se debe incrustar en el diseño del código html de la página que contendra el contenedor.
● Ejemplo.html: Archivo que se utiliza para probar el funcionamiento del componente, es una página web con el código necesario para configurar el componente.
● swfobject.js: Librería javascript necesaria para que se vea correctamente el archivo con extensión .swf.
Instalación del contenedor:
Para realizar la instalación del contenedor, es necesario seguir los siguientes pasos.
● Se deben poner los siguientes archivos en la misma carpeta
● banners.xml
● contenedorv2.swf
● Ejemplo.html
● swfObject.js
● Probar ejecutando el archivo Ejemplo.html, para comprobar que no exitan problemas de rutas de recursos, es decir que alguno de los componentes no se encuentren.
Dentro de este archivo encontramos el siguiente código:
<html>
<head>
<title>:: Ejemplo ::</title>
<script type=”text/javascript” src=”swfobject.js”></script>
</head>
<body bgcolor=”#ffffff”>
<div id=”myflash” align=”center”>Este site necesita el plugin de Flash Player.</div>
<script type=”text/javascript”>
// <![CDATA[
var so = new SWFObject(”contenedorv2.swf”,”id”,”909″,”233″,”8″,”#73ba0d”);
so.addVariable(”datos”, “banners.xml”);
so.addParam(”wmode”, “transparent”);
so.write(”myflash”);
// ]]>
</script>
</body>
</html>
La sección que esta subrayada, nos permite indicarle al archivo contenedorv2.swf, cual es la fuente de datos para configurar el contenido.
Estructura del archivo xml de configuración:
<banners>
<banner>
<img>_contenido/img3.png</img>
<swf>_contenido/b3.swf</swf>
</banner>
<banner>
<img>_contenido/img2.png</img>
<swf>_contenido/b2.swf</swf>
</banner>
<banner>
<img>_contenido/img1.png</img>
<swf>_contenido/b1.swf</swf>
</banner>
</banners>
Es importante resaltar, la prioridad que el componente le da a la información que se va a mostrar en el contenedor, es decir, los banners se muestran en el siguiente orden:

El tag, que contiene la ruta donde esta el banner es:
● <swf>_contenido/b1.swf</swf>, es importante definir correctamente la ruta del archivo swf, teniendo encuenta crear una ruta relativa desde donde esta el archivo xml.
● Nota: El tag img, no aplica para este ejemplo, pero es necesario dejarlo para que no se afecte el funcionamiento del contenedor.
Archivos fuentes: Descargar Aquí
En juegos, es muy importante poder determinar para donde el usuario esta moviendo el mouse:
Con el siguiente script se puede lograr.
-
_root.xcdir = 1;
-
_root.ycdir = 1;
-
-
function catchLastMousePosition(){
-
_root.xlmouse = _root._xmouse;
-
_root.ylmouse = _root._ymouse;
-
//trace("xi "+_root.xlmouse+" yi "+_root.ylmouse);
-
}
-
-
_root.id = setInterval(catchLastMousePosition,500);
-
-
MovieClip.prototype.follow = function(xpos,ypos){
-
-
var step = 50;
-
var dx = xpos;
-
var dy = ypos;
-
-
var xdir = (_root.xlmouse - _root._xmouse);
-
var ydir = (_root.ylmouse - _root._ymouse);
-
-
_root.deltax = true;
-
_root.deltay = true;
-
-
//trace("xdir "+xdir+" ydir "+ydir);
-
if(xdir>0 && ydir>0){
-
//vamos en diagonal hacia la derecha de abajo
-
trace("vamos en diagonal hacia la derecha de abajo");
-
_root.xcdir = 1;
-
_root.ycdir = 1;
-
this._x = _root._xmouse + step + dx;
-
this._y = _root._ymouse + step + dy;
-
}
-
if(xdir<0 && ydir<0){
-
//vamos en diagonal hacia la izquierda de abajo
-
trace("vamos en diagonal hacia la izquierda de abajo");
-
_root.xcdir = -1;
-
_root.ycdir = 1;
-
this._x = _root._xmouse - step + dx;
-
this._y = _root._ymouse - step + dy;
-
}
-
if(xdir>0 && ydir<0){
-
//vamos en diagonal hacia la derecha de arriba
-
trace("vamos en diagonal hacia la derecha de arriba");
-
_root.xcdir = 1;
-
_root.ycdir = -1;
-
this._x = _root._xmouse + step + dx;
-
this._y = _root._ymouse - step + dy;
-
}
-
if(xdir<0 && ydir>0){
-
//vamos en diagonal hacia la izquierda de arriba
-
trace("vamos en diagonal hacia la izquierda de arriba");
-
_root.xcdir = -1;
-
_root.ycdir = 1;
-
this._x = _root._xmouse - step + dx;
-
this._y = _root._ymouse + step + dy;
-
}
-
if(xdir>0 && ydir==0){
-
//vamos hacia la derecha horizontalmente
-
trace("vamos hacia la izquierda horizontalmente");
-
_root.xcdir = -1;
-
_root.ycdir = 1;
-
_root.deltax = true;
-
_root.deltay = false;
-
this._x = _root._xmouse + step + dx;
-
this._y = _root._ymouse + dy;
-
}
-
if(xdir<0 && ydir==0){
-
//vamos hacia la izquierda horizontalmente
-
trace("vamos hacia la derecha horizontalmente");
-
_root.xcdir = 1;
-
_root.ycdir = 1;
-
_root.deltax = true;
-
_root.deltay = false;
-
this._x = _root._xmouse - step + dx;
-
this._y = _root._ymouse + dy;
-
}
-
if(xdir==0 && ydir>0){
-
//vamos hacia abajo en linea recta
-
trace("vamos hacia abajo en linea recta");
-
_root.xcdir = 1;
-
_root.ycdir = 1;
-
_root.deltax = false;
-
_root.deltay = true;
-
this._x = _root._xmouse + dx;
-
this._y = _root._ymouse + step + dy;
-
}
-
if(xdir==0 && ydir<0){
-
//vamos hacia arriba en linea recta
-
trace("vamos hacia arriba en linea recta");
-
_root.xcdir = 1;
-
_root.ycdir = -1;
-
_root.deltax = false;
-
_root.deltay = true;
-
this._x = _root._xmouse + dx;
-
this._y = _root._ymouse - step + dy;
-
}
-
}
-
-
MovieClip.prototype.moveBitch = function()
-
{
-
if(_root.xcdir>0 && _root.deltax)
-
this._x++;
-
if(_root.xcdir<0 && _root.deltax)
-
this._x--;
-
-
if(_root.ycdir>0 && _root.deltay)
-
this._y++;
-
if(_root.ycdir<0 && _root.deltay)
-
this._y--;
-
}
-
-
this.onEnterFrame = function()
-
{
-
this.follow(xpos,ypos);
-
mc.img.moveBitch();
-
}

