Adobe Flash Player 10.1

Adobe Flash Player 10.1

A partir de esta semana está disponible en Adobe Labs la beta de Adobe Flash Player 10.1.

Ha sido muy comentado el soporte multitouch del player, pero a mi lo que mas "ilusión" me ha hecho ha sido el manejo de errores global, que permite centralizar el manejo de todos los errores en tiempo de ejecución.

Adobe Flash Player 10.1

mas

Bug en la función updateBitmap() de MovieMaterial en Papervision3D 2.0 GreatWhite

Etiquetas: updateBitmap() drawBipmap()

Esta semana me he vuelto a topar con este bug de la clase MovieMaterial en Papervision 2.0 GreatWhite.

Si utilizamos un MovieClip como material, utilizando MovieMaterial, y este vá a cambiar en algún momento, pero no queremos utilizar el atribute animated para conservar recursos, podemos llamar a la funcion updateBitmap() para actualizar el material solo cuando sea necesario. El problema es que en esta versión de Papervision, la función updateBitmap() definida en MaterialObject3D, está vacía (literalmente).

Para solucionar este inconveniente, podemos llamar a la función drawBitmap de la clase MovieMaterial. Por ejemplo:

MovieMaterial(plano.material).drawBitmap()

mas

Error de seguridad al utilizar computeSpectrum

Etiquetas: computeSpectrum

Me topé con este error hace varios meses por casualidad. Siempre suelo tener abierto el player de Radio3, y notaba que cuando veía páginas Flash con algún ecualizador de sonido (utilizando computeSpectrum), me salía un error de seguridad en el debugger y no funcionaba la web en Flash.

No le dí mucha importancia hasta que me tocó programar un player para una web y tuve que utilizar computeSpectrum. Lo comenté en la lista de ASNativos, y Cay pasó este enlace:

http://bugs.adobe.com/jira/browse/FP-147

Resulta que es un error sin solución hasta el momento, asi que si alguna vez hacéis una aplicación que utilice computeSpectrum, tenedlo en cuenta: no funciona si tienes abierto un player de audio o video (youtube, vimeo...) en otra ventana.

mas

Reconocer caras con Marilena (Actionscript 3.0)

Reconocer caras con Marilena (Actionscript 3.0)

Marilena es una librería de reconocimiento de formas, portada de OpenCV a Actionscript 3 por Ohtsuka Masakazu.

En el ejemplo que muestro podéis ver como funciona esta librería, aprovechando también las mejoras que hizo Mario Klingemann ( Quasimondo) sobre la misma.

Dejo también los fuentes, que incluyen las clases de Masakazu y Quasimondo.

mas

Publicado el primer libro de Papervision

Publicado el primer libro de Papervision

La editorial Packt acaba de publicar el primer libro de Papervision3D.

Está escrito por Jeff Winder y Paul Tondeur, y según palabras textuales de Carlos Ulloa, está "de puta madre".

Los contenidos son:

Preface Chapter 1: Setting Up
Chapter 2: Building Your First Application
Chapter 3: Primitives
Chapter 4: Materials
Chapter 5: Cameras
Chapter 6: Moving Things Around
Chapter 7: Shading
Chapter 8: External Models
Chapter 9: Z-Sorting
Chapter 10: Particles
Chapter 11: Filters and Effects
Chapter 12: 3D Vector Drawing and Text
Chapter 13: Optimizing Performance
Index

Se puede comprar aquí.

mas

Actionscript 3.0: Poner el foco sobre un campo de texto.

Etiquetas: focus

La manera de poner el foco sobre un campo de texto en Actionscript 3.0 es incluso más sencilla que en Actionscript 2.0.

Basta con utilizar la propiedad stage.focus para poner el foco sobre el campo que queramos. Por ejemplo:

  1.  
  2. stage.focus = Campo_txt;
  3.  

mas

Deseleccionar un grupo de radioButtons en Actionscript 3.0

Etiquetas: RadioButtonGroup RadioButton group

Deseleccionar un grupo de radioButtons en Actionscript 3.0

En este nuevo capítulo sobre las trampas de Flash/Actionscript vamos a ver como deseleccionar un grupo de radioButtons.

Si tenemos varios radioButtons en el escenario, antes de interactuar con ellos no hay ninguno seleccionado. Si seleccionamos uno, se marca y el resto se desmarcan, de manera que solamente puede haber un radioButton de grupo seleccionado.

¿Pero que ocurre si una vez seleccionado un radioButton, queremos que vuelvan a estar todos deseleccionados?

Pues que tenemos que utilizar algún truco, porque no hay ningún método en Actionscript 3.0 para deseleccionar un RadioButtonGroup.

El truco que yo utilizo es crear una instancia temporal de RadioButton, le asigno el grupo, y lo selecciono por código, liberando al resto de su selección:

  1.  
  2. import fl.controls.RadioButtonGroup;
  3.  
  4. var rg:RadioButtonGroup= Opcion1_rb.group;
  5.  
  6. Deseleccionar_bt.addEventListener(MouseEvent.CLICK,deseleccionar);
  7.  
  8. function deseleccionar(e:MouseEvent):void{
  9.  
  10. var tempR:RadioButton = new RadioButton()
  11. tempR.group = rg;
  12. tempR.selected = true;
  13.  
  14. }
  15.  

mas

BitmapData: Recortar imágenes seleccionando trozos no transparentes

Etiquetas: threshold

BitmapData: Recortar imágenes seleccionando trozos no transparentes

No sé si le servirá a alguien, pero hoy entrenando se me ha ocurrido hacer esto y creo que puedo tener alguna aplicación interesante.

Se trata de recortar una imagen en cuadrados, haciendo que los recortes afecten solo a los pixels no transparentes de la imagen, utilizando threshold y Bitmapdata.

Primero dividimos la imagen en cuadrados, y comprobamos si los cuadrados contienen algún pixel no vacío (es decir, que no sea transparente). Si el cuadrado no está vacio, creamos un botón con el trozo de imagen que le corresponde, y si no no.

Por último, en los botones que hemos creado, mostramos solo el handCursor cuando el pixel sobre el que está el ratón no es transparente.

mas

Rotaciones en Papervision Greatwhite

Rotaciones en Papervision Greatwhite

Como a veces es un poco difícil imaginar como van a afectar a su aspecto las transformaciones en las propiedades de los elementos en 3d, me he hecho esta mini-aplicación con Sliders para ver como se muestra un plano al rotarlo sobre sus tres ejes.

Espero que a alguien más le sea útil, dejo los fuentes (está hecho con Papervision GreatWhite) por si queréis modificar otras propiedades.

mas

Comprobación de email con expresiones regulares

Etiquetas: RegExp

Esta función utiliza una expresión regular para comprobar si una cadena es un email válido.

La expresión regular no la he construido yo, pero no puedo citar la fuente porque la he visto en muchos foros de actionscript, en castellano e inglés. La función en cuestión es esta:

  1.  
  2. function emailValido(email:String):Boolean{
  3. var emailExpression:RegExp = /^[a-z][\w.-]+@\w[\w.-]+\.[\w.-]*[a-z][a-z]$/i;
  4. return emailExpression.test(email);
  5. }
  6.  

Y estos serían algunos resultados:

@hotmail.com: false
pepe@hotmail.: false
paco@hotmail.hola.com: true
www.hotmail.com: false
paco@hola@hotmail.com: false
carmen@hotmail.com: true

mas

Páginas: [1] 2 [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16]