<?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>Blog de Daniel Zegarra &#187; Class</title>
	<atom:link href="http://danielzegarra.net/tag/class/feed/" rel="self" type="application/rss+xml" />
	<link>http://danielzegarra.net</link>
	<description>De vuelta en Lima!</description>
	<lastBuildDate>Tue, 03 Jan 2012 08:11:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Eventos AS3 en Flash 9</title>
		<link>http://danielzegarra.net/2008/03/27/eventos-as3-en-flash-9/</link>
		<comments>http://danielzegarra.net/2008/03/27/eventos-as3-en-flash-9/#comments</comments>
		<pubDate>Thu, 27 Mar 2008 15:20:00 +0000</pubDate>
		<dc:creator>Daniel Zegarra</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[ActionScript Event]]></category>
		<category><![CDATA[Class]]></category>

		<guid isPermaLink="false">http://dzegarra.wordpress.com/2008/03/27/eventos-as3-en-flash-9/</guid>
		<description><![CDATA[[...]]]></description>
			<content:encoded><![CDATA[<p>Ya habia aprendido a disparar eventos en Flex, supuse que sería muy parecido en Flash9 y no me equivoque (bueno era obvio, los dos usan AS3).</p>
<p>Como dije, es parecido no igual. Me demoraría hallando las diferencias y explicandolas aquí, mejor dejo un ejemplo de la extensión de la clase que maneja los eventos en Flash9. Simple y practica.</p>
<p><strong>En AS2</strong></p>
<pre class="brush: java; title: ; notranslate">import mx.events.EventDispatcher;
mx.events.EventDispatcher.initialize(this);
var logEventos:Object = new Object();
logEventos.onNewLog = function(evtobj:Object):Void{
trace(&quot;Parametro dato2: &quot;+evtobj.dato2);
}
addEventListener(&quot;onNewLog&quot;, logEventos);
dispatchEvent(&quot;onNewLog&quot;, new Object({dato1:&quot;A&quot;, dato2:&quot;B&quot;, dato3:&quot;C&quot;}));
</pre>
<p><strong>En AS3</strong><br />
Archivo LogEvts.as</p>
<pre class="brush: java; title: ; notranslate">
package {
import flash.events.*;
public class LogEvts extends Event{
public var data:Object;
public function LogEvts(logObj:Object, type:String):void {
super(type, true);
this.data = logObj;
}
}
}
</pre>
<p><strong>En el .Fla<br />
</strong>
<pre class="brush: java; title: ; notranslate">
import LogEvts.as
private var logevts:LogEvts = LogEvts();
addChild(logevts);
function logsTrace(evtobj:LogEvts):void{
trace(&quot;Parametro dato2: &quot;+evt.data.dato2);
}
addEventListener(&quot;onNewLog&quot;, logsTrace);
logevts.dispatchEvent(new LogEvts(new Object({dato1:&quot;A&quot;, dato2:&quot;B&quot;, dato3:&quot;C&quot;}), &quot;onNewLog&quot;));
</pre>
<p>Y si te preguntas porque coloco el addEventListener en la raiz y no al objeto, es porque el evento es diaparado pasandole como parametro bubble=TRUE (en el as).<br />
Para entenderlo puede visitar el blog de Alberto Alcaraz, post: <a href="http://www.theklue.com/2007/09/16/sobre-los-eventos-en-as3/" target="_blank">sobre los eventos en AS3</a>.</p>
<p>Si bien los eventos personalizados en AS3 no son tan simples como en AS2. Sinceramente, me molesta tener que crear una clase para esto, pero la versatilidad es mucho mayor.</p>
]]></content:encoded>
			<wfw:commentRss>http://danielzegarra.net/2008/03/27/eventos-as3-en-flash-9/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

