Archive Page 7

Problema con focusrect en componentes.

keyWords flash8 components, dataGrid, drawFocus.

En flash 8, cuando cargas un componente en un clip contenedor (en algunas circunstancias), se visualiza un halo de color verdoso (dependiendo del theme) bastante molesto.

datagrid_chungo.gif

Para evitarlo:

En el .swf con el componente datagrid, escribimos el siguiente código:

Actionscript:
  1. myDataGrid.drawFocus = function() {
  2. };
  3. var myDP:Array =
  4. new Array({name:"Chris", price:"Priceless"}, {name:"Nigel", price:"Cheap"});
  5. myDataGrid.dataProvider = myDP;

Código de la película base del ejemplo:

Actionscript:
  1. loadDG = function ():Void {
  2.     if (this.activated) {
  3.         this.activated = false;
  4.         this._label.text = 'Cargar';
  5.         holder_mc.unloadMovie();
  6.     } else {
  7.         this.activated = true;
  8.         this._label.text = 'Descargar';
  9.         holder_mc.loadMovie('DG.swf');
  10.     }
  11. };
  12. // --
  13. var holder_mc:MovieClip =
  14. this.createEmptyMovieClip('holder_mc', this.getNextHighestDepth());
  15. // --
  16. my_button.onRelease = loadDG;
  17. my_button._label.text = 'Cargar';

Ejemplo

This movie requires Flash Player 8

Descarga Archivos.zip

Archivos.zip se ha descargado 278 veces.

 Votes | Average: 0 out of 5 Votes | Average: 0 out of 5 Votes | Average: 0 out of 5 Votes | Average: 0 out of 5 Votes | Average: 0 out of 5 (No hay votos todavia.)
Loading ... Loading ...

Importar datos de Microsoft Access a Flash

Introducción

Nunca se sabe cuando vas a recibir un encargo de este tipo, en realidad, esto era algo que tenía en mente probar desde tiempo atrás. Ahora que he tenido que hacerlo, aprovecho para dejar aquí mi experiencia por si te sirve.

Herramientas necesarias

  • Microsoft Excl.
  • Microsoft Access.
  • Flash

Explicación previa al desarrollo.

Como reza el título, se trata de aprovechar los datos introducidos en una base de datos de Access para trabajar con ellos en una aplicación flash. Por tanto necesitamos exportar los datos en un formato que entienda flash, así pues exportaremos a XML.

Como es posible que los datos originales se encuentren en una hoja de cálculo Excel, veremos como importarla previamente desde Access.

Páginas: 1 2 3 4

5 Votes | Average: 4.6 out of 55 Votes | Average: 4.6 out of 55 Votes | Average: 4.6 out of 55 Votes | Average: 4.6 out of 55 Votes | Average: 4.6 out of 5 (5 votos, promedio: 4.6 sobre 5)
Loading ... Loading ...

Flas 8 slideShow.

En este ejemplo, veremos como gracias a la clase Tween (Flash 8 ) y movieClipLoader este proceso puede ser limpio y sencillo, sin necesidad de utilizar complicadas funciones.

Ejemplo
Antes de pasar a ver el código, un ejemplo de lo que vamos a conseguir.

This movie requires Flash Player 8

Importar la clase de Flash 8 Tween

Actionscript:
  1. import mx.transitions.Tween;
  2. import mx.transitions.easing.*;

Declarar variables

Como siempre, para mayor claridad, se declaran las variables al principio.

XML:
  1. var my_xml:XML = new XML ();
  2. my_xml.ignoreWhite = true;
  3. var time:Number = 5;
  4. var urls:Array = new Array ();
  5. var prevMovie:String;
  6. var index:Number = 0;
  7. var depth:Number = 0;

Cargar XML

Se pobla un array urls con los datos obtenidos de un archivo data.xml Ver xml

Una vez se ha terminado el proceso de leer XML y poblar el array, se llama a la función loadImages en intérvalos de tiempo, estos están supeditados al valor de la variable time. En el ejemplo, las imágenes tendran una rotación de 5 segundos (tiempo * 1000)

Actionscript:
  1. my_xml.onLoad = function (success) {
  2.     if (success) {
  3.         for (var i = 0; i <this.firstChild.childNodes.length; i++) {
  4.             urls.push (this.firstChild.childNodes[i].attributes.url);
  5.         }
  6.                 // - - primera imagen
  7.         loadImages ();
  8.         intervalId = setInterval (_root, "loadImages", time * 1000);
  9.     } else {
  10.         trace ("Error al cargar el archivo");
  11.     }
  12. };
  13. //
  14. my_xml.load ("data.xml");

Procesar registros

Se utiliza la variable prevMovie para almacenar el nombre de la imagen que se visualiza actualmente, de forma que al cargar la siguiente, disponemos del nombre de instancia de película cargada para borrar.

Cuando el archivo se ha descargado completamente, se crea una instancia de la clase Tween (para efecto desvanecimiento) y al mismo tiempo, aprovechando los métodos de la clase Tween, se detetecta el fin de la transición (cuando _alpha==100) para descargar la imagen anterior.

Actionscript:
  1. loadImages = function ():Void {
  2.     prevMovie = currentMovie;
  3.     currentMovie = this.createEmptyMovieClip ("currentMovie" + depth, depth);
  4.     var mclListener:Object = new Object ();
  5.     mclListener.onLoadComplete = function (target_mc:MovieClip) {
  6.         var tween_handler:Object = new Tween (target_mc, "_alpha",
  7.         Strong.easeOut, 0, 100, 3, true);
  8.         tween_handler.onMotionFinished = function () {
  9.             unloadMovie (prevMovie);
  10.         };
  11.     };
  12.     var movieClipLoader:MovieClipLoader = new MovieClipLoader ();
  13.     movieClipLoader.addListener (mclListener);
  14.     movieClipLoader.loadClip (urls[index], currentMovie);
  15.     index == urls.length - 1 ? index = 0 : index++;
  16.     depth++;
  17. };

Descarga Slideshow

Slideshow se ha descargado 6,024 veces.

2 Votes | Average: 5 out of 52 Votes | Average: 5 out of 52 Votes | Average: 5 out of 52 Votes | Average: 5 out of 52 Votes | Average: 5 out of 5 (2 votos, promedio: 5 sobre 5)
Loading ... Loading ...