<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
	<channel>
		
		<title><![CDATA[SdR: Tutoriales Flash, Papervision...]]></title>
		<description><![CDATA[Tutoriales y ejemplos de Flash, Actionscript 2.0, Actionscript 3.0, Papervision, y otros motores de físicas y 3D]]></description>
		<language>es</language>
		<link>http://www.esedeerre.com</link>
				<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/SdrTutorialesFlashPapervision" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item><title><![CDATA[Bug en la función updateBitmap() de MovieMaterial en Papervision3D 2.0 GreatWhite]]></title><description><![CDATA[<p><p>Esta semana me he vuelto a topar con este bug de la clase <strong>MovieMaterial</strong> en <strong>Papervision 2.0 GreatWhite</strong>.</p><br />
<p>Si utilizamos un <strong>MovieClip</strong> como material, utilizando <strong>MovieMaterial</strong>, 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 <strong>MaterialObject3D</strong>, está vacía (literalmente). </p><br />
<p>Para solucionar este inconveniente, podemos llamar a la función drawBitmap de la clase <strong>MovieMaterial</strong>. Por ejemplo:</p><br />
<p><br />
<code lang="actionscript">MovieMaterial(plano.material).drawBitmap()<code></p></p>]]></description><link>http://feedproxy.google.com/~r/SdrTutorialesFlashPapervision/~3/r2WFpBQRZ00/bug-en-la-funcion-updatebitmap-de-moviematerial-en-papervision3d-20-greatwhite</link><guid isPermaLink="false"><![CDATA[http://www.esedeerre.com/ejemplo/10/156/bug-en-la-funcion-updatebitmap-de-moviematerial-en-papervision3d-20-greatwhite]]></guid><feedburner:origLink>http://www.esedeerre.com/ejemplo/10/156/bug-en-la-funcion-updatebitmap-de-moviematerial-en-papervision3d-20-greatwhite</feedburner:origLink></item><item><title><![CDATA[Error de seguridad al utilizar computeSpectrum]]></title><description><![CDATA[<p><p>Me topé con este error hace varios meses por casualidad. Siempre suelo tener abierto el player de <a href="http://www.rtve.es/radio/radio3/" target="_blank"><referencia>Radio3</referencia>,</a> y notaba que cuando veía páginas Flash con algún ecualizador de sonido (utilizando <strong>computeSpectrum</strong>), me salía un error de seguridad en el debugger y no funcionaba la web en Flash.</p><br />
<p>No le dí mucha importancia hasta que me tocó programar un player para una web y tuve que utilizar <strong>computeSpectrum</strong>. Lo comenté en la lista de ASNativos, y Cay pasó este enlace:</p><br />
<p><a href="http://bugs.adobe.com/jira/browse/FP-147" target="_blank"><referencia>http://bugs.adobe.com/jira/browse/FP-147</referencia></a></p><br />
<p>Resulta que es un error sin solución hasta el momento, asi que si alguna vez hacéis una aplicación que utilice <strong>computeSpectrum</strong>, tenedlo en cuenta:  no funciona si tienes abierto un player de audio o video (youtube, vimeo...) en otra ventana. </p></p>]]></description><link>http://feedproxy.google.com/~r/SdrTutorialesFlashPapervision/~3/vzMiJLsXEl0/error-de-seguridad-al-utilizar-computespectrum</link><guid isPermaLink="false"><![CDATA[http://www.esedeerre.com/ejemplo/18/155/error-de-seguridad-al-utilizar-computespectrum]]></guid><feedburner:origLink>http://www.esedeerre.com/ejemplo/18/155/error-de-seguridad-al-utilizar-computespectrum</feedburner:origLink></item><item><title><![CDATA[Reconocer caras con Marilena (Actionscript 3.0)]]></title><description><![CDATA[<p><p></p><img src='http://www.esedeerre.com/ejemplos/librerias/marilena/marilena.jpg' title='Reconocer caras con Marilena (Actionscript 3.0)' . alt='Reconocer caras con Marilena (Actionscript 3.0)'/></p><p><strong>Marilena</strong> es una librería de reconocimiento de formas, portada de <strong>OpenCV</strong> a <strong>Actionscript 3</strong> por <br />
  <a href="http://maaash.jp/as3/as3marilena-object-detection-in-as3/" target="_blank"><referencia>Ohtsuka Masakazu.</referencia></a> </p><br />
<p>En el ejemplo que muestro podéis ver como funciona esta librería, aprovechando también las mejoras que hizo <a href="http://www.quasimondo.com/archives/000687.php" target="_blank"><referencia>Mario Klingemann ( Quasimondo)</referencia></a> sobre la misma. </p><br />
<p>Dejo también los fuentes, que incluyen las clases de <strong>Masakazu</strong> y <strong>Quasimondo</strong>. </p></p>]]></description><link>http://feedproxy.google.com/~r/SdrTutorialesFlashPapervision/~3/C1W13XKIE8Q/reconocer-caras-con-marilena-actionscript-30</link><guid isPermaLink="false"><![CDATA[http://www.esedeerre.com/ejemplo/13/154/reconocer-caras-con-marilena-actionscript-30]]></guid><feedburner:origLink>http://www.esedeerre.com/ejemplo/13/154/reconocer-caras-con-marilena-actionscript-30</feedburner:origLink></item><item><title><![CDATA[Publicado el primer libro de Papervision]]></title><description><![CDATA[<p><p></p><img src='http://www.esedeerre.com/ejemplos/greatwhite/libro/paperbook.jpg' title='Publicado el primer libro de Papervision' . alt='Publicado el primer libro de Papervision'/></p><p>La editorial <a href="http://www.packtpub.com" target="_blank"><referencia>Packt</referencia></a> acaba de publicar el primer libro de Papervision3D.</p><br />
<p>Está escrito por <strong>Jeff Winder</strong> y <strong>Paul Tondeur</strong>, y según palabras textuales de Carlos Ulloa, está <em>&quot;de puta madre&quot;</em>. </p><br />
<p>Los contenidos son: </p><br />
<p>Preface<br />
  Chapter 1: Setting Up<br /><br />
  Chapter 2:   Building Your First Application<br /><br />
  Chapter 3:   Primitives<br /><br />
  Chapter 4: Materials<br /><br />
  Chapter 5: Cameras<br /><br />
  Chapter 6:   Moving Things Around<br /><br />
  Chapter 7: Shading<br /><br />
  Chapter 8: External Models<br /><br />
  Chapter   9: Z-Sorting<br /><br />
  Chapter 10: Particles<br /><br />
  Chapter 11: Filters and Effects<br /><br />
  Chapter 12: 3D Vector Drawing and Text<br /><br />
  Chapter 13: Optimizing Performance<br /><br />
Index</p><br />
<p>Se puede comprar <a href="http://www.packtpub.com/papervision3d-essentials#indetail" target="_blank"><referencia>aquí</referencia></a>. <br /><br />
</p></p>]]></description><link>http://feedproxy.google.com/~r/SdrTutorialesFlashPapervision/~3/XYGKQ6c_66A/publicado-el-primer-libro-de-papervision</link><guid isPermaLink="false"><![CDATA[http://www.esedeerre.com/ejemplo/10/153/publicado-el-primer-libro-de-papervision]]></guid><feedburner:origLink>http://www.esedeerre.com/ejemplo/10/153/publicado-el-primer-libro-de-papervision</feedburner:origLink></item><item><title><![CDATA[Actionscript 3.0: Poner el foco sobre un campo de texto. ]]></title><description><![CDATA[<p><p>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. </p><br />
<p>Basta con utilizar la propiedad stage.focus para poner el foco sobre el campo que queramos. Por ejemplo:</p><br />
<p><br />
<code lang="actionscript"><br />
stage.focus = Campo_txt;<br />
</code><br />
</p></p>]]></description><link>http://feedproxy.google.com/~r/SdrTutorialesFlashPapervision/~3/rHiNpl_7CyA/actionscript-30-poner-el-foco-sobre-un-campo-de-texto-</link><guid isPermaLink="false"><![CDATA[http://www.esedeerre.com/ejemplo/9/152/actionscript-30-poner-el-foco-sobre-un-campo-de-texto-]]></guid><feedburner:origLink>http://www.esedeerre.com/ejemplo/9/152/actionscript-30-poner-el-foco-sobre-un-campo-de-texto-</feedburner:origLink></item><item><title><![CDATA[Deseleccionar un grupo de radioButtons en Actionscript 3.0]]></title><description><![CDATA[<p><p></p><img src='http://www.esedeerre.com/ejemplos/trampas/deseleccionar_rb/deseleccionar_radiobutton.jpg' title='Deseleccionar un grupo de radioButtons en Actionscript 3.0' . alt='Deseleccionar un grupo de radioButtons en Actionscript 3.0'/></p><p>En este nuevo capítulo sobre las trampas de <strong>Flash</strong>/<strong>Actionscript</strong> vamos a ver como deseleccionar un grupo de radioButtons.</p><br />
<p>Si tenemos varios <strong>radioButtons</strong> 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 <strong>radioButton</strong> de grupo seleccionado. </p><br />
<p>¿Pero que ocurre si una vez seleccionado un <strong>radioButton</strong>, queremos que vuelvan a estar todos deseleccionados? </p><br />
<p>Pues que tenemos que utilizar algún truco, porque no hay ningún método en <strong>Actionscript 3.0</strong> para deseleccionar un <strong>RadioButtonGroup</strong>. </p><br />
<p>El truco que yo utilizo es crear una instancia temporal de <strong>RadioButton, </strong>le asigno el grupo, y lo selecciono por código, liberando al resto de su selección:</p><br />
<p><br />
<code lang="actionscript"><br />
import fl.controls.RadioButtonGroup;<br />
<br />
var rg:RadioButtonGroup= Opcion1_rb.group;<br />
<br />
Deseleccionar_bt.addEventListener(MouseEvent.CLICK,deseleccionar);<br />
<br />
function deseleccionar(e:MouseEvent):void{<br />
	<br />
	var tempR:RadioButton = new RadioButton()<br />
	tempR.group = rg;<br />
	tempR.selected = true;<br />
	<br />
}<br />
</code><br />
</p></p>]]></description><link>http://feedproxy.google.com/~r/SdrTutorialesFlashPapervision/~3/a_Q3kurZQAY/deseleccionar-un-grupo-de-radiobuttons-en-actionscript-30</link><guid isPermaLink="false"><![CDATA[http://www.esedeerre.com/ejemplo/18/151/deseleccionar-un-grupo-de-radiobuttons-en-actionscript-30]]></guid><feedburner:origLink>http://www.esedeerre.com/ejemplo/18/151/deseleccionar-un-grupo-de-radiobuttons-en-actionscript-30</feedburner:origLink></item><item><title><![CDATA[BitmapData: Recortar imágenes seleccionando trozos no transparentes]]></title><description><![CDATA[<p><p></p><img src='http://www.esedeerre.com/ejemplos/experimentos/menurecortaimagen/flor.png' title='BitmapData: Recortar imágenes seleccionando trozos no transparentes' . alt='BitmapData: Recortar imágenes seleccionando trozos no transparentes'/></p><p>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.</p><br />
<p>Se trata de recortar una imagen en cuadrados, haciendo que los recortes afecten solo a los pixels no transparentes de la imagen, utilizando <strong>threshold</strong> y <strong>Bitmapdata.</strong></p><br />
<p>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.</p><br />
<p>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. </p></p>]]></description><link>http://feedproxy.google.com/~r/SdrTutorialesFlashPapervision/~3/zESCtNwVEN0/bitmapdata-recortar-imagenes-seleccionando-trozos-no-transparentes</link><guid isPermaLink="false"><![CDATA[http://www.esedeerre.com/ejemplo/6/150/bitmapdata-recortar-imagenes-seleccionando-trozos-no-transparentes]]></guid><feedburner:origLink>http://www.esedeerre.com/ejemplo/6/150/bitmapdata-recortar-imagenes-seleccionando-trozos-no-transparentes</feedburner:origLink></item><item><title><![CDATA[Rotaciones en Papervision Greatwhite]]></title><description><![CDATA[<p><p></p><img src='http://www.esedeerre.com/ejemplos/greatwhite/testplano/pantallazo.jpg' title='Rotaciones en Papervision Greatwhite' . alt='Rotaciones en Papervision Greatwhite'/></p><p>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 <strong>Sliders</strong> para ver como se muestra un plano al rotarlo sobre sus tres ejes.</p><br />
<p>Espero que a alguien más le sea útil, dejo los fuentes (está hecho con <strong>Papervision GreatWhite</strong>) por si queréis modificar otras propiedades. </p></p>]]></description><link>http://feedproxy.google.com/~r/SdrTutorialesFlashPapervision/~3/9ITuq6veWKA/rotaciones-en-papervision-greatwhite</link><guid isPermaLink="false"><![CDATA[http://www.esedeerre.com/ejemplo/10/149/rotaciones-en-papervision-greatwhite]]></guid><feedburner:origLink>http://www.esedeerre.com/ejemplo/10/149/rotaciones-en-papervision-greatwhite</feedburner:origLink></item><item><title><![CDATA[Comprobación de email con expresiones regulares]]></title><description><![CDATA[<p><p>Esta función utiliza una <strong>expresión regular</strong> para comprobar si una cadena es un email válido. </p><br />
<p>La <strong>expresión regular</strong> no la he construido yo, pero no puedo citar la fuente porque la he visto en muchos foros de <strong>actionscript</strong>, en castellano e inglés. La función en cuestión es esta:</p><br />
<p><br />
<code lang="actionscript"><br />
function emailValido(email:String):Boolean{<br />
	var emailExpression:RegExp = /^[a-z][\w.-]+@\w[\w.-]+\.[\w.-]*[a-z][a-z]$/i;<br />
	return emailExpression.test(email);<br />
}<br />
</code><br />
</p><br />
<br />
<p>Y estos serían algunos resultados:</p><br />
<p><br />
@hotmail.com: <em>false</em><br /><br />
pepe@hotmail.: <em>false</em><br /><br />
paco@hotmail.hola.com: <em>true</em><br /><br />
www.hotmail.com: <em>false</em><br /><br />
paco@hola@hotmail.com: <em>false</em><br /><br />
carmen@hotmail.com: <em>true</em><br />
</p></p>]]></description><link>http://feedproxy.google.com/~r/SdrTutorialesFlashPapervision/~3/Vi79Og4r3sI/comprobacion-de-email-con-expresiones-regulares</link><guid isPermaLink="false"><![CDATA[http://www.esedeerre.com/ejemplo/4/148/comprobacion-de-email-con-expresiones-regulares]]></guid><feedburner:origLink>http://www.esedeerre.com/ejemplo/4/148/comprobacion-de-email-con-expresiones-regulares</feedburner:origLink></item><item><title><![CDATA[Actionscript 3.0: memoria utilizada]]></title><description><![CDATA[<p><p>Podemos comprobar cantidad de memoria utilizada por <strong>Flash Player</strong> mediante la propiedad <em>System.totalMemory</em>, que devuelve el valor en bytes. </p><br />
<p>Por ejemplo, si queremos ver el valor en KBs de la memoria utilizada por nuestra aplicación, pondríamos:</p><br />
<p><br />
<code lang="actionscript"><br />
import flash.system.System;<br />
<br />
trace(System.totalMemory / 1024 + " KBs")</code><br />
</p></p>]]></description><link>http://feedproxy.google.com/~r/SdrTutorialesFlashPapervision/~3/3dsyQEuv-KU/actionscript-30-memoria-utilizada</link><guid isPermaLink="false"><![CDATA[http://www.esedeerre.com/ejemplo/4/147/actionscript-30-memoria-utilizada]]></guid><feedburner:origLink>http://www.esedeerre.com/ejemplo/4/147/actionscript-30-memoria-utilizada</feedburner:origLink></item>	
	</channel>
</rss>
