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

31ago/060

GridEditor 1.0

Después del post sobre el uso de remoting para realizar consultas a bases de datos se me ocurrió que en numerosas ocasiones necesitamos cargar datos pero no deseamos que aparezcan en el Datagrid. En nuestro caso podríamos desear que no apareciese el dato usuarioID, pero este es necesario que lo tengamos para posteriormente poder eliminar el registro.

Para ello me he creado una pequeña clase que se encarga de manejar el datagrid para estos menesteres.
Las clase en si es la siguiente:

class utiles.GridEditor{
private var __grid:MovieClip
private var __columnas_arr:Array
private var __columnasInit_arr:Array
public function GridEditor (_dg:MovieClip) {
__grid=_dg
__columnasInit_arr=__grid.columnNames
}
private function indiceColumna(_s:String,_tipo:String):Number {
var c:Array
_tipo=="init" ? c =__columnasInit_arr : c=__columnas_arr
for (var a in c){ if (c[a]==_s) return Number(a); }
}
public function visibilidad(_columna:String,_valor:Boolean){
__columnas_arr=__grid.columnNames
if (_valor){
if (__grid.getColumnIndex(_columna)==undefined) __grid.addColumnAt(indiceColumna(_columna,"init"),_columna)
}else{
if (__grid.getColumnIndex(_columna)!=undefined) __grid.removeColumnAt(indiceColumna(_columna))
}
}
}

El uso de la clase es realmente sencillo. Inicialmente debemos crear una instancia de nuestra clase pasándole como único parámetro del constructor el nombre de instancia de nuestro datagrid

Después utilizaremos el método visibilidad() donde pasaremos como parámetros el nombre de la columna que queremos editar y el estado de esta (true=visible, false=invisible).

Ahora un toque de atención a los chicos de adobe… ¿porque el componente datagrid no tiene este comportamiento tan básico?… a veces parece que hasta las macro-empresas dejan flecos en sus productos… pero en fin, pasa en las mejores familias

Archivado en: AS2 No hay comentarios
29ago/065

Remoting queries

Fede Rivas me hizo llegar unas clases con las que interactuar con bases de datos se podía hacer directamente desde flash por medio de remoting.

Básicamente se trata de tres clases ServiceFetcher, AsyncCallback, GenerateSQL y un servicio para amfphp, BDProxy . La primera clase se trata de una especie de recolector de servicios, la segunda nos sirve para manejar las llamadas asíncronas. La tercera es la clase que nos hará la vida más simple, ya que se encargará de interactuar con nuestro servicio y hacer las queries a nuestra base de datos.

A continuación un ejemplo donde realizamos el registro del servicio y creamos unos métodos para listar, insertar y eliminar registros en la base de datos.

Algo importante es que nuestro script apenas supera las 50 líneas de código ;)

Necesita tener instalado flash player 8

Descargar: Remoting queries by alexdw

Archivado en: AS2 5 Comentarios
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
5jul/060

Recordando una buena web

Gracias a la lista de AsNativos he recuperado la dirección de un sitio que hace unos años me fascinó...

Se trata de una web donde explican el concepto de los juegos basados en cuadrículas, dando un repaso a la vista isométrica, pathfinding, etc...

Sin desperdicio.

Tile based games

Archivado en: General No hay comentarios
30jun/062

Incomodidades del filereference

Hace poco utilicé la clase filereference para subir archivos. No se porqué, pero en determinados casos no me funcionaba el script dándome un error de tipo IEerror.

Tras un tiempo intentando depurar el problema descubrí que tenía que pasarle la ruta completa al método upload.

Esta tarea puede ser bastante pesada si somos de los que publicamos nuestro proyecto en local y después lo subimos al servidor definitivo, ya que es muy probable que olvidemos actualizar la ruta para hacer upload.

Por esto se me ocurrió utilizar una propiedad olvidada de movieclip, ._url

Esta propiedad nos da la url de la película. Como _root es un movieclip podemos utilizar lo siguiente para obtener la ruta completa en el servidor:

path=_root._url.substr(0,_root._url.lastIndexOf("/"))Â

Con esto podemos estar seguros que siempre le pasaremos la ruta de nuestro servidor al método upload.

file.upload(path+"/upload.aspx")

Archivado en: General 2 Comentarios
20jun/060

API 3D para flash

Ya está disponible para descargar versión 1.0b de la API 3D Sandy que viene con numerosos cambios desde su anterior versión, la 0.2 ... además es muy facil de utilizar :D

Web oficial

Archivado en: General No hay comentarios
2jun/063

Hacer “Streaming” de FLVs sólo con PHP

Via AsNativos -> Flashcomguru he leido este interesante articulo donde nos muestran una facil forma de movernos por un video sin necesidad de que esté descargado del todo ni mediante ningún servidor tipo Flash Media Server... vamos lo que entendemos por streaming.

Descargar fuentes

Archivado en: General 3 Comentarios
11may/060

Adobe se apunta a la moda AJAX con Spry

Adobe parece que no quiere dejar de sorprendernos a los desarrolladores, si hace unos días publicaban el puente AJAX-Flex, hoy nos hacen llegar Spry Framework, una librería javascript para utilizarla en nuestros proyectos AJAX.

Desde luego parece facilísimo utilizar esta librería,sobre todo por algunos tutoriales que ya han publicado.

Archivado en: General No hay comentarios