<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>eChicho Blog &#187; ActionScript</title>
	<atom:link href="http://blog.fernandogiovagnoli.com.ar/category/actionscript/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.fernandogiovagnoli.com.ar</link>
	<description>Otro sitio sobre programación creado con WordPress</description>
	<lastBuildDate>Fri, 02 Mar 2012 00:31:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>trim(): prototype para implementarlo en Flash con AS3</title>
		<link>http://blog.fernandogiovagnoli.com.ar/2010/06/trim-prototype-para-implementarlo-en-flash-con-as3/</link>
		<comments>http://blog.fernandogiovagnoli.com.ar/2010/06/trim-prototype-para-implementarlo-en-flash-con-as3/#comments</comments>
		<pubDate>Sun, 13 Jun 2010 16:57:17 +0000</pubDate>
		<dc:creator>eChicho</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Prototype]]></category>
		<category><![CDATA[trim()]]></category>

		<guid isPermaLink="false">http://blog.fernandogiovagnoli.com.ar/?p=154</guid>
		<description><![CDATA[Quienes han trabajado con otros lenguajes de programación, por ejemplo PHP, tienen a su disposición la función trim(), que quita de una cadena, los espacios excedentes tanto al principio como al final de la misma. En Flash no tenemos esa opción (aunque en Flex sí a través de la class mx.utils.StringUtils), por lo que tendremos que [...]]]></description>
			<content:encoded><![CDATA[<p>Quienes han trabajado con otros lenguajes de programación, por ejemplo <a title="PHP: Hypertext Preprocessor" href="http://www.php.net/" target="_blank">PHP</a>, tienen a su disposición la función trim(), que quita de una cadena, los espacios excedentes tanto al principio como al final de la misma. En Flash no tenemos esa opción (aunque en Flex sí a través de la class <a title="trim() desde StringUtil de Flex" href="http://livedocs.adobe.com/flex/3/langref/mx/utils/StringUtil.html#trim()" target="_blank">mx.utils.StringUtils</a>), por lo que tendremos que hacerla nosotros mismos:</p>
<pre class="brush: as3; title: ; notranslate">
String.prototype.trim = function():String
{
	return this.replace(/^\s*(.*?)\s*$/g, &quot;$1&quot;);
}

var cadena = &quot;   cadena con espacios en los laterales   &quot;;
trace(&quot;*&quot; + cadena.trim() + &quot;*&quot;);
</pre>
<p>La misma utiliza expresiones regurales para quitar los espacios sobrantes, presente desde AS3.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fernandogiovagnoli.com.ar/2010/06/trim-prototype-para-implementarlo-en-flash-con-as3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TweenText: class en AS3 para mostrar / ocultar un textField con animación</title>
		<link>http://blog.fernandogiovagnoli.com.ar/2010/04/tweentext-class-en-as3-para-mostrar-ocultar-un-textfield-con-animacion/</link>
		<comments>http://blog.fernandogiovagnoli.com.ar/2010/04/tweentext-class-en-as3-para-mostrar-ocultar-un-textfield-con-animacion/#comments</comments>
		<pubDate>Mon, 26 Apr 2010 00:14:47 +0000</pubDate>
		<dc:creator>eChicho</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[textField]]></category>
		<category><![CDATA[Tween]]></category>
		<category><![CDATA[TweenText]]></category>

		<guid isPermaLink="false">http://blog.fernandogiovagnoli.com.ar/?p=104</guid>
		<description><![CDATA[Ésta es una de las primeras classes que armé (ya no recuerdo para qué) cuando estaba tratando de aprender un poco de AS3. La class TweenText nos permitirá mostrar y ocultar un textField de un modo más &#8216;animado&#8217;: La misma es muy sencilla, cuando instanciamos la class, le pasamos entre paréntesis el textField sobre la [...]]]></description>
			<content:encoded><![CDATA[<p>Ésta es una de las primeras classes que armé (ya no recuerdo para qué) cuando estaba tratando de aprender un poco de AS3. La class <em>TweenText</em> nos permitirá mostrar y ocultar un <a title="textField" href="http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/text/TextField.html" target="_blank">textField</a> de un modo más &#8216;animado&#8217;:</p>
<pre class="brush: as3; title: ; notranslate">
package chicho.effects{
	import flash.text.TextField;
	import fl.transitions.Tween;
	import fl.transitions.easing.*;

	public class TweenText extends TextField {
		private var _txtfield:TextField;
		private var _tiempo:int;

		public function TweenText(txtfield:TextField):void {
			this._txtfield = txtfield;
			this._tiempo = 12;
		}
		public function mostrar(texto:String):void {
			this._txtfield.text = texto;
			tween(this._txtfield,0,100,Regular.easeIn);
		}
		public function ocultar():void {
			tween(this._txtfield,100,0,Strong.easeOut);
		}
		public function set tiempo(tiempo:int):void {
			this._tiempo=tiempo;
		}
		private function tween(myTextField:TextField,inicio:int,fin:int,easing:Function):void {
			var myTween:Tween=new Tween(myTextField,&quot;alpha&quot;,easing,inicio,fin,this._tiempo,false);
		}
	}
}
</pre>
<p>La misma es muy sencilla, cuando instanciamos la class, le pasamos entre paréntesis el textField sobre la cual actuará:</p>
<pre class="brush: as3; title: ; notranslate">
import chicho.effects.TweenText;
//
var a:TweenText = new TweenText(texto);
</pre>
<p>Tenemos una propiedad, <em>tiempo</em>, que permitirá configurar la cantidad de fotogramas que llevará el efecto para mostrar y/o ocultar el textField.</p>
<p>Para hacer ésto, existe dos métodos: mostrar(string a mostrar) y ocultar(). El primero mostrará el texto (asignándoselo a la propiedad text del textField) y el segundo lo ocultará. En el medio, y con la ayuda de la class Tween actuando sobre la propiedad <em>alpha</em> del objeto, se hace visible (alpha a 1) o invisible (alpha 0).</p>
<pre class="brush: as3; title: ; notranslate">
a.tiempo = 20;
a.mostrar(&quot;Hola!, que tal ?&quot;);
</pre>
<p> </p>
<pre class="brush: as3; title: ; notranslate">
a.tiempo = 10;
a.ocultar();
</pre>
<p>La class admite muchas mejoras, entre ellas, que se pueda mostrar contenido HTML, por ejemplo. Siéntanse libre de modificarla a gusto y de acuerdo a sus necesidades.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fernandogiovagnoli.com.ar/2010/04/tweentext-class-en-as3-para-mostrar-ocultar-un-textfield-con-animacion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Arthropod: Debugger para Flash y AIR</title>
		<link>http://blog.fernandogiovagnoli.com.ar/2010/03/arthropod-debugger-para-flash-y-air/</link>
		<comments>http://blog.fernandogiovagnoli.com.ar/2010/03/arthropod-debugger-para-flash-y-air/#comments</comments>
		<pubDate>Sun, 28 Mar 2010 15:43:22 +0000</pubDate>
		<dc:creator>eChicho</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Arthropod]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[debugger]]></category>

		<guid isPermaLink="false">http://blog.fernandogiovagnoli.com.ar/?p=54</guid>
		<description><![CDATA[Si trabajamos dentro del IDE de Flash o en Flex, contamos varias formas de obtener valores mientras estamos desarrollando. Pero una vez publicado, si queremos debuggear no es tan sencillo. Arthropod es una mini aplicación RIA que nos permite conocer los valores no sólo de un string, sino también de array, object y bitmap. Luego [...]]]></description>
			<content:encoded><![CDATA[<p>Si trabajamos dentro del IDE de Flash o en Flex, contamos varias formas de obtener valores mientras estamos desarrollando. Pero una vez publicado, si queremos <em>debuggear</em> no es tan sencillo.</p>
<p><a title="Arthropod: debugger" href="http://arthropod.stopp.se/" target="_blank">Arthropod</a> es una mini aplicación RIA que nos permite conocer los valores no sólo de un string, sino también de array, object y bitmap.</p>
<p>Luego de descargarla y ejecutada por primera vez, nos pregunta si queremos guardar una copia de la class <strong>Debug</strong>, que necesitaremos importar en nuestros proyectos para que funcione en conjunto con la aplicación:</p>
<pre class="brush: as3; title: ; notranslate">
import com.carlcalderon.arthropod.Debug;
Debug.log(&quot;Mi mensaje para el Debugger&quot;);
</pre>
<p>Con ésto enviamos un string a la ventana del debugger. Si quisiéramos mostrar un array u object:</p>
<pre class="brush: as3; title: ; notranslate">
var aArray:Array = new Array(1,2,3,4,5);
Debug.array(aArray);

var oObject:Object = new Object();
oObject.nombre = 'Juan';
oObject.apellido = 'Pérez';
Debug.object(oObject);
</pre>
<p>También disponemos de métodos como <strong>warning</strong> y <strong>error</strong>, que muestran mensajes de advertencias / errores destacados por algún color diferentes (los cuales también podemos personalizar):</p>
<pre class="brush: as3; title: ; notranslate">
Debug.warning(&quot;Cuidado que puede dar error&quot;);
Debug.error(&quot;Ésto ha causado un error&quot;);
</pre>
<p><img class="aligncenter size-full wp-image-62" title="Arthropod" src="http://blog.fernandogiovagnoli.com.ar/wp-content/uploads/2010/03/2010-03-28_1233491.jpg" alt="Arthropod" width="489" height="309" /><br />
Para descargar la aplicación, y una lista completa de propiedades y métodos: <a title="Arthropod: debugger" href="http://arthropod.stopp.se/index2.php/?page_id=4" target="_blank">Arthropod</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fernandogiovagnoli.com.ar/2010/03/arthropod-debugger-para-flash-y-air/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Array con índices de cadena en AS2</title>
		<link>http://blog.fernandogiovagnoli.com.ar/2010/03/array-con-indices-de-cadena-en-as2/</link>
		<comments>http://blog.fernandogiovagnoli.com.ar/2010/03/array-con-indices-de-cadena-en-as2/#comments</comments>
		<pubDate>Sat, 13 Mar 2010 16:13:53 +0000</pubDate>
		<dc:creator>eChicho</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Array]]></category>
		<category><![CDATA[AS2]]></category>
		<category><![CDATA[Prototype]]></category>

		<guid isPermaLink="false">http://blog.fernandogiovagnoli.com.ar/?p=32</guid>
		<description><![CDATA[Mucha gente dirá que hace rato que existe la versión 3 de ActionScript (aprox. más de 4 años) y que hacer un artículo ahora sobre la versión anterior es un poco tarde. En realidad por mucho que uno intenta imponer AS3, todavía hay programadores y diseñadores que lo utilizan diariamente, y multitud de desarrollos están [...]]]></description>
			<content:encoded><![CDATA[<p>Mucha gente dirá que hace rato que existe la versión 3 de ActionScript (aprox. más de 4 años) y que hacer un artículo ahora sobre la versión anterior es un poco tarde.</p>
<p>En realidad por mucho que uno intenta imponer AS3, todavía hay programadores y diseñadores que lo utilizan diariamente, y multitud de desarrollos están en AS2.</p>
<p>Luego éste pequeño justificativo, vamos al problema que nos toca en el día de hoy. Si utilizamos un array con índices numéricos, con la propiedad <a title="Array.length" href="http://help.adobe.com/en_US/AS2LCR/Flash_10.0/help.html?content=00000742.html" target="_blank">length</a> podremos conocer la cantidad de elementos que contiene determinado array:</p>
<pre class="brush: as3; title: ; notranslate">
var array:Array = new Array();
array[0] = 0;
array[1] = 1;
array[2] = 2;
array[3] = 3;
trace(array.length); //devuelve 4
</pre>
<p>También se podría haber utilizado <a title="Array.push" href="http://help.adobe.com/en_US/AS2LCR/Flash_10.0/help.html?content=00000745.html" target="_blank">push()</a> para insertar los elementos, con el mismo efecto. Pero si queremos utilizar como índice una cadena, el resultado no es el mismo (<em>acaso un bug?</em>):</p>
<pre class="brush: as3; title: ; notranslate">
var array2:Array = new Array();
array2['cero'] = 0;
array2['uno'] = 1;
array2['dos'] = 2;
array2['tres'] = 3;
trace(array2.length); //devuelve 0
</pre>
<p>Aún cuando nos aseguramos que los valores se han guardado en el array:</p>
<pre class="brush: as3; title: ; notranslate">
trace(array2['cero']); //devuelve 0
trace(array2['uno']); //devuelve 1
trace(array2['dos']); //devuelve 2
trace(array2['tres']); //devuelve 3
</pre>
<p> Para solucionar ésto podemos recurrir a un <a title="Prototype" href="http://help.adobe.com/en_US/AS2LCR/Flash_10.0/help.html?content=00001429.html" target="_blank">prototype</a> para que nos calcule ésto:</p>
<pre class="brush: as3; title: ; notranslate">
Array.prototype.getLength = function():Number {
	var empty:Array = [];
	var long:Number = 0;
	for (var key:String in this) {
		if (empty[key] == undefined){
			long++;
		}
	}
	return long;
}
</pre>
<p>Es un sencillo bucle, que cuenta la cantidad de elementos y retorna ese valor:</p>
<pre class="brush: as3; title: ; notranslate">
trace(array2.getLength()); //devuelve 4
</pre>
<p>Espero que les sea útil, hasta la próxima.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.fernandogiovagnoli.com.ar/2010/03/array-con-indices-de-cadena-en-as2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	<img style='margin:0;padding:0;border:0;' width='1px' height='1px' src="http://blog.fernandogiovagnoli.com.ar/wp-content/plugins/mystat/mystat.php?act=time_load&id=50938&rnd=46626625" /></channel>
</rss>

