<?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>www.riactive.com &#187; CS4</title>
	<atom:link href="http://www.riactive.com/category/cs4/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.riactive.com</link>
	<description></description>
	<lastBuildDate>Tue, 09 Mar 2010 00:02:52 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Carga de assets &#8220;at runtime&#8221; con Flash</title>
		<link>http://www.riactive.com/2010/02/22/carga-assets-runtime/</link>
		<comments>http://www.riactive.com/2010/02/22/carga-assets-runtime/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 21:42:28 +0000</pubDate>
		<dc:creator>Alberto Gonzalez</dc:creator>
				<category><![CDATA[CS4]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[ApplicationDomain]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[assets]]></category>
		<category><![CDATA[LoaderContext]]></category>

		<guid isPermaLink="false">http://www.riactive.com/?p=838</guid>
		<description><![CDATA[Últimamente he estado involucrado en un proyecto realizado en Flash principalmente. Una parte importante de este proyecto es que debe tener temas visuales distintos. Cada tema está compuesto de muchos elementos gráficos principalmente movie clips y animaciones. Cada tema estará definido en la biblioteca de un swf por lo que tendremos varios swf y cada [...]]]></description>
			<content:encoded><![CDATA[<p>Últimamente he estado involucrado en un proyecto realizado en Flash principalmente. Una parte importante de este proyecto es que debe tener temas visuales distintos. Cada tema está compuesto de muchos elementos gráficos principalmente movie clips y animaciones. Cada tema estará definido en la biblioteca de un swf por lo que tendremos varios swf y cada uno de ellos contendrá los assets correspondientes a su tema.<br />
<br />
Lo que les voy a mostrar en este post es cómo cargar esos swf y acceder a sus elementos de la biblioteca desde la película principal.<br />
<span id="more-838"></span><br />
</p>
<h3>Requerimientos</h3>
<li>Adobe Flash CS4 (<a href="http://www.adobe.com/flash">http://www.adobe.com/flash</a>)</li>
<h3>Prerequisitos</h3>
<li>Estar familiarizado con la terminología de ActionScript 3.0</li>
<li>Haber trabajado con Adobe Flash y el manejo de su biblioteca y símbolos</li>
<h3>Desarrollo</h3>
<p>El escenario es el sig: </p>
<li>Crearemos 3 archivos .fla que ejemplificarán los 3 temas</li>
<li>Cada .fla tendrá solo dos elementos en la biblioteca exportados para ActionScript</li>
<li>Generaremos un .fla adicional que servirá como aplicación principal y desde la cuál se cargará alguno de los otros 3 swf con los assets preparados</li>
<li>Por último utilizaremos en la aplicación principal los elementos que se encuentran en la biblioteca del swf cargado</li>
<p><a href="http://www.riactive.com/wp-content/uploads/2010/02/Assets_1.jpg"><img src="http://www.riactive.com/wp-content/uploads/2010/02/Assets_1-277x300.jpg" alt="Assets_1" title="Assets_1" width="277" height="300" class="aligncenter size-medium wp-image-843" /></a></p>
<p><a href="http://www.riactive.com/wp-content/uploads/2010/02/Assets_2.jpg"><img src="http://www.riactive.com/wp-content/uploads/2010/02/Assets_2-277x300.jpg" alt="Assets_2" title="Assets_2" width="277" height="300" class="aligncenter size-medium wp-image-844" /></a><br />
<a href="http://www.riactive.com/wp-content/uploads/2010/02/Assets_3.jpg"><img src="http://www.riactive.com/wp-content/uploads/2010/02/Assets_3-279x300.jpg" alt="Assets_3" title="Assets_3" width="279" height="300" class="aligncenter size-medium wp-image-845" /></a></p>
<p><a href="http://www.riactive.com/wp-content/uploads/2010/02/Assets_library.jpg"><img src="http://www.riactive.com/wp-content/uploads/2010/02/Assets_library-300x238.jpg" alt="Assets_library" title="Assets_library" width="300" height="238" class="aligncenter size-medium wp-image-846" /></a></p>
<p>En las imágenes muestro como deberá quedar la biblioteca de los 3 swf que servirán como contenedores de los assets.<br />
Únicamente coloqué dos elementos (Header, Footer), por motivos del ejemplo, y tienen asociada su clase respectiva desde la biblioteca.<br />
<br />
No es necesario que pongamos contenido en el escenario ya que no mostraremos el swf cargado, solo utilizaremos sus elementos.<br />
<br />
Vamos ahora a crear el fla que servirá como principal y desde donde pondremos unos controles para cargar los assets requeridos.<br />
<a href="http://www.riactive.com/wp-content/uploads/2010/02/main-movie.jpg"><img src="http://www.riactive.com/wp-content/uploads/2010/02/main-movie-300x230.jpg" alt="main movie" title="main movie" width="300" height="230" class="aligncenter size-medium wp-image-851" /></a><br />
<a href="http://www.riactive.com/wp-content/uploads/2010/02/contenido-combo.jpg"><img src="http://www.riactive.com/wp-content/uploads/2010/02/contenido-combo-300x216.jpg" alt="contenido combo" title="contenido combo" width="300" height="216" class="aligncenter size-medium wp-image-850" /></a></p>
<p>Colocamos 3 componentes en el escenario: Una etiqueta, un botón y un combo box. El botón y el combo box tienen como nombres de instancia "botonCarga" y "comboSeleccion" respectivamente.<br />
<br />
El combo tiene los datos mostrados en la imagen colocados desde el Inspector de Componentes por motivos de facilidad en el ejemplo.<br />
<br />
Los 3 componentes se encuentran dentro de un MovieClip que está en el escenario. Ese movie clip tiene de nombre de instancia "selector". Los componentes se encuentran dentro de este clip para después poder quitarlos más fácilmente.<br />
<br />
Ese movie clip tiene el sig código en la línea de tiempo:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">//ActionScript 3.0</span>
&nbsp;
comboSeleccion.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>Event.<span style="color: #006600;">CHANGE</span>, onComboChange<span style="color: #66cc66;">&#41;</span>;
botonCarga.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>MouseEvent.<span style="color: #006600;">CLICK</span>, onBotonClick<span style="color: #66cc66;">&#41;</span>;
&nbsp;
botonCarga.<span style="color: #0066CC;">enabled</span> = <span style="color: #000000; font-weight: bold;">false</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> onComboChange <span style="color: #66cc66;">&#40;</span>event:Event<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> 
<span style="color: #66cc66;">&#123;</span>
	botonCarga.<span style="color: #0066CC;">enabled</span> = event.<span style="color: #0066CC;">target</span>.<span style="color: #006600;">selectedIndex</span> <span style="color: #66cc66;">&gt;</span> <span style="color: #cc66cc;">0</span>;
<span style="color: #66cc66;">&#125;</span>
<span style="color: #000000; font-weight: bold;">function</span> onBotonClick<span style="color: #66cc66;">&#40;</span>event:MouseEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #0066CC;">MovieClip</span><span style="color: #66cc66;">&#40;</span>parent<span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">cargarAssets</span><span style="color: #66cc66;">&#40;</span>comboSeleccion.<span style="color: #006600;">selectedItem</span>.<span style="color: #0066CC;">data</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>
Como se darán cuenta la carga la hace una función llamada "cargarAssets" que se encuentra en la línea de tiempo principal, es decir, el "parent" de este clip. Ahora veamos el código que se encarga de la magia el cual se encuentra en la línea de tiempo principal:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">utils</span>.<span style="color: #006600;">getDefinitionByName</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">var</span> req:URLRequest = <span style="color: #000000; font-weight: bold;">new</span> URLRequest<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">var</span> loader:Loader = <span style="color: #000000; font-weight: bold;">new</span> Loader<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
loader.<span style="color: #006600;">contentLoaderInfo</span>.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>Event.<span style="color: #006600;">COMPLETE</span>, onAssetsComplete<span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">// Esta es la parte importante.</span>
<span style="color: #808080; font-style: italic;">// El poner las clases cargadas dentro mismo contexto de la aplicación principal</span>
<span style="color: #000000; font-weight: bold;">var</span> lc:LoaderContext = <span style="color: #000000; font-weight: bold;">new</span> LoaderContext<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
lc.<span style="color: #006600;">applicationDomain</span> = ApplicationDomain.<span style="color: #006600;">currentDomain</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">// Esta fn se invoca desde el clip selector</span>
<span style="color: #000000; font-weight: bold;">function</span> cargarAssets <span style="color: #66cc66;">&#40;</span>seleccion:<span style="color: #0066CC;">String</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span> 
<span style="color: #66cc66;">&#123;</span>
	req.<span style="color: #0066CC;">url</span> = <span style="color: #ff0000;">&quot;assets/&quot;</span> + seleccion;
	loader.<span style="color: #0066CC;">load</span><span style="color: #66cc66;">&#40;</span>req, lc<span style="color: #66cc66;">&#41;</span>;<span style="color: #808080; font-style: italic;">// Pasándole como segundo argumento el contexto definido arriba</span>
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> onAssetsComplete <span style="color: #66cc66;">&#40;</span>event:Event<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Assets cargados y disponibles&quot;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
	<span style="color: #808080; font-style: italic;">// Definición de las clases a utilizar ( ya están disponibles )</span>
	<span style="color: #808080; font-style: italic;">// Header y Footer están definidos en la biblioteca del swf cargado</span>
	<span style="color: #000000; font-weight: bold;">var</span> Header:<span style="color: #000000; font-weight: bold;">Class</span> = getDefinitionByName<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Header&quot;</span><span style="color: #66cc66;">&#41;</span> as <span style="color: #000000; font-weight: bold;">Class</span>;
	<span style="color: #000000; font-weight: bold;">var</span> Footer:<span style="color: #000000; font-weight: bold;">Class</span> = getDefinitionByName<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Footer&quot;</span><span style="color: #66cc66;">&#41;</span> as <span style="color: #000000; font-weight: bold;">Class</span>;
&nbsp;
	<span style="color: #808080; font-style: italic;">// Instancias de esas clases</span>
	<span style="color: #000000; font-weight: bold;">var</span> _header:DisplayObject = <span style="color: #000000; font-weight: bold;">new</span> Header<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> as DisplayObject;
	<span style="color: #000000; font-weight: bold;">var</span> _footer:DisplayObject = <span style="color: #000000; font-weight: bold;">new</span> Footer<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> as DisplayObject;
&nbsp;
	<span style="color: #808080; font-style: italic;">// Agregamos y acomodamos elementos</span>
	addChild<span style="color: #66cc66;">&#40;</span>_header<span style="color: #66cc66;">&#41;</span>;
	addChild<span style="color: #66cc66;">&#40;</span>_footer<span style="color: #66cc66;">&#41;</span>; _footer.<span style="color: #006600;">y</span> = <span style="color: #0066CC;">stage</span>.<span style="color: #006600;">stageHeight</span> - _footer.<span style="color: #0066CC;">height</span>;
&nbsp;
	<span style="color: #808080; font-style: italic;">// Ocultamos el componente de selección</span>
	selector.<span style="color: #0066CC;">visible</span> = <span style="color: #000000; font-weight: bold;">false</span>;
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>
El código muestra como carga un swf con la clase Loader. Hasta ahí todo normal. El punto importante es la instancia de "LoaderContext" que está definida justo antes de cargar los elementos y su propiedad applicationDomain. Esa instancia la utilizamos en la función <em>load</em> de la instancia de <em>Loader</em>.</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">var</span> lc:LoaderContext = <span style="color: #000000; font-weight: bold;">new</span> LoaderContext<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
lc.<span style="color: #006600;">applicationDomain</span> = ApplicationDomain.<span style="color: #006600;">currentDomain</span>;</pre></div></div>

<p>
Un <strong>ApplicationDomain</strong> es el contexto donde está disponible tu código. Normalmente se genera una instancia de ApplicationDomain por cada swf que tengamos pero con esa instrucción estamos indicando que las classes que contiene el swf de los assets queremos que esten disponibles en el mismo contexto que la película que lo carga, es decir, la película principal.<br />
<br />
Una vez hecho eso, la clase la podemos utilizar como cualquier otra. En el ejemplo estoy obteniendo la definición de las clases "Header" y "Footer" en dos variables que después estoy instanciando y agregando al DisplayList para mostrarlas en la película principal.<br />
<br />
El ejemplo supone que tiene una estructura de archivos similar a la sig:<br />
- carpeta principal<br />
&nbsp;&nbsp;- main.swf<br />
&nbsp;&nbsp;- assets (carpeta)<br />
&nbsp;&nbsp;&nbsp;&nbsp;- assets_1.swf<br />
&nbsp;&nbsp;&nbsp;&nbsp;- assets_2.swf<br />
&nbsp;&nbsp;&nbsp;&nbsp;- assets_3.swf</p>
<h3>Conclusión</h3>
<p>Sabemos que existen las bibliotecas compartidas. Sabemos que podemos tener muchos elementos en la biblioteca y utilizar solo los requeridos pero, sin lugar a dudas, cuando debemos elegir entre varios elementos a cargar para una sola aplicación esta puede ser una de las mejores opciones. De esta forma no incrementan el tamaño de su aplicación principal teniendo assets en la biblioteca que podría no utilizar un usuario, ya sea por su rol asignado o por cualquier otra razón.<br />
<br />
Esta técnica también les puede ayudar a actualizar las aplicaciones, al menos, en cuanto a los elementos gráficos mostrados debido a que con solo cambiar el/los swf de los assets podrán cambiar por completo el diseño de su aplicación.</p>
<h3>Archivos</h3>
<p>Aquí les dejo los archivos del ejemplo (Flash CS4):<br />
- <a href='http://www.riactive.com/wp-content/uploads/2010/02/Carga_Assets.zip'>Carga_Assets.zip</a></p>
<p><em>Espero que les sirva este artículo para sus futuros proyectos.<br />
Cualquier pregunta no duden en dejar un comentario en el post o enviarme un e-mail a: agonzalez@activ.com.mx</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.riactive.com/2010/02/22/carga-assets-runtime/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Comunicación entre SWF&#8217;s con LocalConnection</title>
		<link>http://www.riactive.com/2010/02/01/comunicacion-entre-swfs-con-localconnection/</link>
		<comments>http://www.riactive.com/2010/02/01/comunicacion-entre-swfs-con-localconnection/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 15:30:52 +0000</pubDate>
		<dc:creator>yacaFx</dc:creator>
				<category><![CDATA[CS4]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[as2]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[localconnection]]></category>
		<category><![CDATA[tutorials]]></category>
		<category><![CDATA[yacaFx]]></category>

		<guid isPermaLink="false">http://www.riactive.com/?p=745</guid>
		<description><![CDATA[La semana pasada surgió la duda en twitter de cómo pueden comunicarse dos o mas SWF's embebidos en una página y eso me dio la idea para hacer este post =)

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_LocalConnectionSender_11608638"
			class="flashmovie"
			width="300"
			height="200">
	<param name="movie" value="http://www.riactive.com/wp-content/uploads/2010/01/LocalConnectionSender.swf" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://www.riactive.com/wp-content/uploads/2010/01/LocalConnectionSender.swf"
			name="fm_LocalConnectionSender_11608638"
			width="300"
			height="200">
	<!--<![endif]-->
		
	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_LocalConnectionReceiver_1259128942"
			class="flashmovie"
			width="300"
			height="200">
	<param name="movie" value="http://www.riactive.com/wp-content/uploads/2010/01/LocalConnectionReceiver.swf" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://www.riactive.com/wp-content/uploads/2010/01/LocalConnectionReceiver.swf"
			name="fm_LocalConnectionReceiver_1259128942"
			width="300"
			height="200">
	<!--<![endif]-->
		
	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_LocalConnectionAS2Sample_1378871660"
			class="flashmovie"
			width="400"
			height="50">
	<param name="movie" value="http://www.riactive.com/wp-content/uploads/2010/01/LocalConnectionAS2Sample.swf" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://www.riactive.com/wp-content/uploads/2010/01/LocalConnectionAS2Sample.swf"
			name="fm_LocalConnectionAS2Sample_1378871660"
			width="400"
			height="50">
	<!--<![endif]-->
		
	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
Este tipo de comunicación [...]]]></description>
			<content:encoded><![CDATA[<p>La semana pasada surgió la duda en twitter de cómo pueden comunicarse dos o mas SWF's embebidos en una página y eso me dio la idea para hacer este post =)</p>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_LocalConnectionSender_1579246148"
			class="flashmovie"
			width="300"
			height="200">
	<param name="movie" value="http://www.riactive.com/wp-content/uploads/2010/01/LocalConnectionSender.swf" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://www.riactive.com/wp-content/uploads/2010/01/LocalConnectionSender.swf"
			name="fm_LocalConnectionSender_1579246148"
			width="300"
			height="200">
	<!--<![endif]-->
		
	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_LocalConnectionReceiver_1217413571"
			class="flashmovie"
			width="300"
			height="200">
	<param name="movie" value="http://www.riactive.com/wp-content/uploads/2010/01/LocalConnectionReceiver.swf" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://www.riactive.com/wp-content/uploads/2010/01/LocalConnectionReceiver.swf"
			name="fm_LocalConnectionReceiver_1217413571"
			width="300"
			height="200">
	<!--<![endif]-->
		
	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_LocalConnectionAS2Sample_1642379286"
			class="flashmovie"
			width="400"
			height="50">
	<param name="movie" value="http://www.riactive.com/wp-content/uploads/2010/01/LocalConnectionAS2Sample.swf" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://www.riactive.com/wp-content/uploads/2010/01/LocalConnectionAS2Sample.swf"
			name="fm_LocalConnectionAS2Sample_1642379286"
			width="400"
			height="50">
	<!--<![endif]-->
		
	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object><br />
Este tipo de comunicación es bastante sencilla y podemos lograrlo haciendo uso de la clase LocalConnection. Primero tengamos un acercamiento a esta clase y veamos cómo funciona.<br />
<span id="more-745"></span><br />
Una Local Connection es la vía que tendrán 2 o más SWF (en una o varias instancias de un flashplayer como en un browser y un flash projector o AIR) para poder comunicarse entre ellos siempre y cuando estén ejecutándose en la misma computadora.  </p>
<p>Recordemos que por la naturaleza de los SWF’s podemos comunicarlos sin importar si fueron generados vía Flex o Flash.</p>
<p>Como mínimo es necesario tener 2 swf para lograr esta comunicación y uno al menos debe fungir como mensajero (sender) y otro como escucha (listener) aunque ambos pueden realizar ambas tareas y es posible tener más de 2 swf en este proceso.</p>
<p>Algo que podría sonar atractivo si estamos trabajando en equipo y no todos usan AS3 es el hecho de que todos los objetos de tipo LocalConnection  creados con cualquier versión de AS (1, 2 o 3) son compatibles.</p>
<p>Esta clase tiene dos métodos importantes para lograr la comunicación entre los SWF’s:  send() y connect().</p>
<p>El método send() se  encarga de enviar la petición de comunicación y requiere de 2 parámetros, el primero que será el nombre del canal y el segundo el método que se ejecutará en el swf destino. En caso de que el método destino requiera de parámetros estos deben de agregarse después del segundo parámetro y separado por comas.</p>
<p><img src="http://www.riactive.com/wp-content/uploads/2010/01/LCimg1.png" alt="LCimg1" width="490" height="241" class="aligncenter size-full wp-image-789" /></p>
<p>El método connect() estará en el swf destino y recibirá como parámetro el nombre de la conexión que se estableció en el método send() en el swf origen.  Con esto establecido el sfw destino ya estará habilitado para escuchar las peticiones a través de un LocalConnection.</p>
<p>Es importante que en el swf destino el objeto LocalConnection se le indique, a través de la propiedad “client”, en donde se encuentra el método que se está invocando desde el swf origen. Esto aplica si nuestro método está dentro de un paquete o en el mismo nivel donde se está instanciando el objeto LocalConnection. Otra consideración que se debe tener con este método es que debe ser declarado público.</p>
<p>Si al objeto LocalConnection destino no le indicamos la ubicación del método y este no lo declaramos como público la aplicación nos arrojará un error.</p>
<p><img src="http://www.riactive.com/wp-content/uploads/2010/01/LCimg2.png" alt="LCimg2" width="490" height="241" class="aligncenter size-full wp-image-788" /></p>
<p>Ya entendida la funcionalidad de la clase y la lógica de este tipo de aplicaciones es hora de tirar algunas líneas de código y de probar esta funcionalidad. </p>
<p>Tendremos 3 archivos swf’s uno generado desde Flash y otro generado desde Flex  y ambos tendrán los 2 roles necesarios para esta aplicación (Mensajero y Escucha) y el tercer SWF será generado desde Flash usando AS2 y solo con el rol de Escucha. Para efectos de este tutorial los tres SWF estarán integrados en el mismo archivo HTML.</p>
<p>Se me ocurre que esta aplicación sea algo similar a una calculadora donde en un primer SWF se ingresen 2 datos y se envíen al segundo SWF donde se elija la operación a realizar y regrese el resultado al primer SWF donde se le sumara una cantidad y el resultado final se enviará a un tercer SWF el cual solo mostrará este resultado final. Cada SWF tendrá un color de fondo distinto para poder identificarlos y están embebidos independientemente. El SWF1 es verde, el SWF2 es azul y el SWF3 es anaranjado</p>
<p><img src="http://www.riactive.com/wp-content/uploads/2010/01/tutoLocalConnectionMockup.png" alt="tutoLocalConnectionMockup" width="745" height="317" class="aligncenter size-full wp-image-786" /></p>
<p>El código para el SWF1 hecho en Flash con AS3 queda así:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;">//Creamos el objeto tipo LocalConnection
var cnxLocal:LocalConnection = new LocalConnection();
&nbsp;
enviarBtn.addEventListener(MouseEvent.CLICK, enviaDatos);
&nbsp;
function enviaDatos(evt:MouseEvent):void
{
/*Enviamos datos a través del canal(conexión) 'cnxIda' 
indicándole que método ejecutar y los parametros a recibir*/
	cnxLocal.send('cnxIda', 'muestraDatos', dato1.text, dato2.text);
&nbsp;
/*De una vez referenciamos la conexión o canal para 
recibir los datos de regreso que enviará la app en Flex*/
	cnxLocal.connect('cnxVuelta');
	cnxLocal.client = this;
};
&nbsp;
/*Este método muestra el resultado calculado en el SWF2, 
hace un nuevo calculo y envía ese resultado al SWF3*/
function muestraResultadoRegresado(resultado:String):void
{
	resultado1.text = resultado;
&nbsp;
	var resultadoFinal:String;
	resultadoFinal = String(Number(resultado)*10);
&nbsp;
//Aquí es donde se envían los datos al SWF3
	cnxLocal.send('cnxFinal', 'muestraDatosFinales', resultadoFinal);
}</pre></div></div>

<p>El código para el SWF2 hecho en Flex con AS3 queda así:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"> import mx.controls.Alert;
&nbsp;
//Creamos el objeto tipo LocalConnection
            private var _cnxLocal:LocalConnection = new LocalConnection();
&nbsp;
            private function _initApp():void
            {
//Nos conectamos a la conexión definida en el SWF 1 para este SWF
                _cnxLocal.connect('cnxIda');
//Indicamos en donde esta el método invocado en SWF1
                _cnxLocal.client = this;
            }
&nbsp;
//Este es el método invocado desde SWF1 y está definido como público
            public function muestraDatos(datoE1:String, datoE2:String):void
            {
                dato1.text = datoE1;
                dato2.text = datoE2;
            }
&nbsp;
            private function _realizarCalculo(evt:MouseEvent):void
            {
                var resultado:Number;
                switch (evt.currentTarget.label)
                {
                    case '+':
                        resultado = Number(dato1.text) + Number(dato2.text);
                        break;
&nbsp;
                    case '-':
                        resultado = Number(dato1.text) - Number(dato2.text);
                        break;
&nbsp;
                    case '*':
                        resultado = Number(dato1.text) * Number(dato2.text);
                        break;
                    case '/':
                        resultado = Number(dato1.text) / Number(dato2.text);
                        break;
                }
                _regresaDatos(String(resultado));
            }
&nbsp;
//Este método regresa el resultado al SWF1
            private function _regresaDatos(resultado:String):void
            {
                Alert.show(resultado, 'Resultado del calculo:');
                _cnxLocal.send('cnxVuelta', 'muestraResultadoRegresado', resultado);
            }</pre></div></div>

<p>El código para el SWF3 hecho en Flash con AS2 queda así:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;">//Creamos el objeto tipo LocalConnection
var cnxLocal:LocalConnection = new LocalConnection();
&nbsp;
//Nos conectamos a la conexión definida en el SWF 1 para este SWF
cnxLocal.connect('cnxFinal');
&nbsp;
cnxLocal.muestraDatosFinales = function(resultado) {
&nbsp;
//Se muestran en la caja de texto los datos recibidos
    resultadoFinal.text = resultado;
};</pre></div></div>

<p>Como puede apreciarse la comunicación entre uno o varios SWF's es muy sencilla y en este tutorial queda sentado que no importa si es AS2 o AS3, Flash o Flex donde generemos nuestras aplicaciones, la comunicación a través de LocalConnection es transparente =)</p>
<p>Esperamos que este tutorial te sea de utilidad y si tienes dudas o comentarios no dudes en preguntarnos, ya sea a través de los comentarios o vía twitter en @riactive.</p>
<p>Sean felices y... Happy Coding!!!</p>
<p>Sergio Brito AKA yacafx</p>
<p>------------------------------------------------------------------------------------------------------<br />
Los archivos fuente generados en este tutorial están disponibles para su descarga<br />
[<a href="wp-content/uploads/2010/01/LocalConnectionTutorialRiactive.zip">Source Files</a>]</p>
<p>Para la elaboración de este post usamos Flash, Flex Builder, Photoshop y <a href="http://www.balsamiq.com/products/mockups">Balsamiq Mockups</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.riactive.com/2010/02/01/comunicacion-entre-swfs-con-localconnection/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Invitación: Creative Suite Live Mexico 2009</title>
		<link>http://www.riactive.com/2009/09/24/invitacion-cslivemexico/</link>
		<comments>http://www.riactive.com/2009/09/24/invitacion-cslivemexico/#comments</comments>
		<pubDate>Thu, 24 Sep 2009 22:12:17 +0000</pubDate>
		<dc:creator>Alberto Gonzalez</dc:creator>
				<category><![CDATA[CS4]]></category>
		<category><![CDATA[Diseño Web]]></category>
		<category><![CDATA[Eventos]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Noticias]]></category>

		<guid isPermaLink="false">http://www.riactive.com/?p=539</guid>
		<description><![CDATA[El motivo de este post es invitarlos al evento denominado "Creative Suite live Mexico, 2009". Se llevará a cabo en la ciudad de México los días 28 y 29 de Septiembre de 2009 en el Centro Banamex.

"Creative Suite Live! es la conferencia más completa para diseñadores que utilizan y quieren dominar las aplicaciones de Adobe [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_541" class="wp-caption aligncenter" style="width: 660px"><a href="http://www.mogo-media.com/conferences/creative-suite-live/2009/ciudad-de-mexico/"><img src="http://www.riactive.com/wp-content/uploads/2009/09/2029.jpg" alt="Conferencia Creative Suite Live México" title="Creative Suite Live México" width="650" height="65" class="size-full wp-image-541" /></a><p class="wp-caption-text">Conferencia Creative Suite Live México</p></div>
<p>El motivo de este post es invitarlos al evento denominado <a href="http://www.mogo-media.com/conferences/creative-suite-live/2009/ciudad-de-mexico/">"Creative Suite live Mexico, 2009"</a>. Se llevará a cabo en la ciudad de México los días 28 y 29 de Septiembre de 2009 en el <a href="http://www.centrobanamex.com/">Centro Banamex</a>.<br />
<br />
"Creative Suite Live! es la conferencia más completa para diseñadores que utilizan y quieren dominar las aplicaciones de Adobe Creative Suite. Con sesiones que cubren desde Illustrator a InDesign, Photoshop, Bridge y Acrobat Professional."<br />
<span id="more-539"></span><br />
Con panelistas de talla internacional, las conferencias se enfocarán en dos ramas: Impresión y web. Tocando temas como "Photoshop para Diseño y Producción de Impresos" impartida por Mariana Cabral (twitter => @marianacabralMX), "Plataforma Flash, más alla de la web" impartida por Alberto González (twitter => @albertx), conferencias inaugurales por evangelistas de Adobe Rufus Deuchler y Greg Rewis, entre otros temas como InDesign, Dreamweaver, etc.<br />
<br />
Esperamos contar con su asistencia el día del evento.<br />
Les dejo los enlaces directos:<br />
<a href="http://www.mogo-media.com/conferences/creative-suite-live/2009/ciudad-de-mexico/">Información General</a><br />
<a href="http://www.mogo-media.com/conferences/creative-suite-live/2009/ciudad-de-mexico/registration/">Registro</a><br />
<a href="http://www.mogo-media.com/conferences/creative-suite-live/2009/ciudad-de-mexico/calendario/">Calendario</a><br />
<a href="http://www.mogo-media.com/conferences/creative-suite-live/2009/ciudad-de-mexico/panelistas/">Panelistas</a><br />
<a href="http://www.mogo-media.com/conferences/creative-suite-live/2009/ciudad-de-mexico/lugar/">Lugar</a><br />
<a href="http://www.mogo-media.com/conferences/creative-suite-live/2009/ciudad-de-mexico/patrocinadores/">Patrocinadores</a></p>
<p>Hasta la próxima.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.riactive.com/2009/09/24/invitacion-cslivemexico/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Videos del Max 2008 @ SFO</title>
		<link>http://www.riactive.com/2009/01/07/videos-del-max-2008-sfo/</link>
		<comments>http://www.riactive.com/2009/01/07/videos-del-max-2008-sfo/#comments</comments>
		<pubDate>Wed, 07 Jan 2009 15:53:20 +0000</pubDate>
		<dc:creator>yacaFx</dc:creator>
				<category><![CDATA[CS4]]></category>
		<category><![CDATA[Eventos]]></category>
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.riactive.com/?p=246</guid>
		<description><![CDATA[Hola Riactiveros!!!!
Antes que nada espero que tengan un muy RIAño Nuevo jejejejeje con muchos proyectos y trabajo y que esta comunidad siga creciendo mas y mas!!!
Pues se me hizo la buena de ser quien cerrar el año con Post y pues tambien se me hizo ser el que lo habrá=) y que mejor que con [...]]]></description>
			<content:encoded><![CDATA[<p>Hola Riactiveros!!!!</p>
<p>Antes que nada espero que tengan un muy RIAño Nuevo jejejejeje con muchos proyectos y trabajo y que esta comunidad siga creciendo mas y mas!!!</p>
<p>Pues se me hizo la buena de ser quien cerrar el año con Post y pues tambien se me hizo ser el que lo habrá=) y que mejor que con una fabulosa serie de entrevistas/saludos de personalidades de Adobe como <a href="http://www.forta.com" target="_blank">Ben Forta</a>(ColdFusion Evangelist), James Ward(Flex Evangelist y gran impulsor de Tour de Flex) y <a href="http://technoracle.blogspot.com/" target="_blank">Duane Nickull</a>(a quien tambien se puede ver en <a href="http://tv.adobe.com/#vi+f1537v1000" target="_blank">Duanes World</a> en <a title="MAX Sessions!" href="http://tv.adobe.com/#ch+MAX" target="_blank">Adobe TV</a>)</p>
<p>Y por cierto antes de que se me pase, todas las sesiones del MAX fueron grabadas y han sido liberadas al publico en general en <a title="MAX Sessions!" href="http://tv.adobe.com/#ch+MAX" target="_blank">Adobe TV</a> o desde el Adobe Media Player....</p>
<p>Y ya sin mas rodeos les dejo aqui los videos...</p>
<p>#Update: Disculpen las molestias pero ya el buen Edgar Parada nos apoyo actualizando el sistema y ya se ve el video uhuuuu!!! ahora vienen mas!!<br />

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_mS5Jy3HNz84&amp;hl=es&amp;fs=1&amp;ap=%2526fmt%3D22_535104873"
			class="flashmovie"
			width="400"
			height="300">
	<param name="movie" value="http://www.youtube.com/v/mS5Jy3HNz84&amp;hl=es&amp;fs=1&amp;ap=%2526fmt%3D22" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://www.youtube.com/v/mS5Jy3HNz84&amp;hl=es&amp;fs=1&amp;ap=%2526fmt%3D22"
			name="fm_mS5Jy3HNz84&amp;hl=es&amp;fs=1&amp;ap=%2526fmt%3D22_535104873"
			width="400"
			height="300">
	<!--<![endif]-->
		
	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
]]></content:encoded>
			<wfw:commentRss>http://www.riactive.com/2009/01/07/videos-del-max-2008-sfo/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Adobe Webinars</title>
		<link>http://www.riactive.com/2008/12/05/adobe-webinars/</link>
		<comments>http://www.riactive.com/2008/12/05/adobe-webinars/#comments</comments>
		<pubDate>Fri, 05 Dec 2008 18:46:51 +0000</pubDate>
		<dc:creator>yacaFx</dc:creator>
				<category><![CDATA[CS4]]></category>
		<category><![CDATA[Eventos]]></category>
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://www.riactive.com/?p=242</guid>
		<description><![CDATA[Hola Riactiveros!!!!!
Pues con la buena nueva de que Adobe nuevamente hace de las suyas y nos invita a una seria de Webinars bajo el nombre de
Adobe Flash Platform eSeminar series for Adobe AIR and Flex developers
Las cosas buenas de estos webinars son:
La diversidad de temas e interesantes que son!!
Son gratis!!!!
Son en linea!!!

Lo unico que necesitas [...]]]></description>
			<content:encoded><![CDATA[<p>Hola Riactiveros!!!!!</p>
<p>Pues con la buena nueva de que Adobe nuevamente hace de las suyas y nos invita a una seria de Webinars bajo el nombre de</p>
<h4><a title="Adobe Flash Platform eSeminar series for Adobe AIR and Flex developers" href="http://www.adobe.com/cfusion/event/index.cfm?event=detail&amp;id=462539&amp;loc=en_us" target="_blank">Adobe Flash Platform eSeminar series for Adobe AIR and Flex developers</a></h4>
<p>Las cosas buenas de estos webinars son:</p>
<p>La diversidad de temas e interesantes que son!!</p>
<p>Son gratis!!!!</p>
<p>Son en linea!!!</p>
<p><span id="more-242"></span></p>
<p>Lo unico que necesitas es registrarte en www.adobe.com, accesar a <a title="Adobe Flash Platform eSeminar series for Adobe AIR and Flex developers" href="http://www.adobe.com/cfusion/event/index.cfm?event=detail&amp;id=462539&amp;loc=en_us" target="_blank">sitio de los de los Webinars</a> y seleccionar los que te interesen, recibes un correo de confirmacion, lo agendas y esperas ansiosamente el dia en que sea el Webinar!!!</p>
<p>Les anexo las sesiones que habrá asi como la fechas y horas en que se celebrarán.</p>
<p><strong>Introduction to the Adobe Flash Platform </strong> ›<br />
Thursday, December 11, 2008<br />
11:00 AM - 12:00 PM US/Pacific<br />
<strong><br />
Zend and the Adobe Flash Platform</strong> ›<br />
Thursday, December 18, 2008<br />
11:00 AM - 12:00 PM US/Pacific<br />
<strong><br />
SAP and the Adobe Flash Platform</strong> ›<br />
Thursday, January 8, 2009<br />
11:00 AM - 12:00 PM US/Pacific</p>
<p><strong>Java and the Adobe Flash Platform</strong> ›<br />
Thursday, January 22, 2009<br />
11:00 AM - 12:00 PM US/Pacific</p>
<p><strong>Salesforce.com and the Adobe Flash Platform</strong> ›<br />
Thursday, February 12, 2009<br />
11:00 AM - 12:00 PM US/Pacific</p>
<p><strong>Facebook and the Adobe Flash Platform</strong> ›<br />
Thursday, February 26, 2009<br />
11:00 AM - 12:00 PM US/Pacific</p>
<p>Y por cierto tambien habrá <a href="http://www.adobe.com/cfusion/event/index.cfm?event=detail&amp;id=462539&amp;loc=en_us" target="_blank">Adobe ColdFusion 8 eSeminar Series</a>!!!!!!</p>
<p>Y pues si revisan mas en el site pueden encontrar que hay onDemand Seminars y muchisimos recursos!!!!</p>
<p>Bueno pues Happy Flexed!!!!</p>
<p>Bytes by me!</p>
<p>The Yacatematrix</p>
]]></content:encoded>
			<wfw:commentRss>http://www.riactive.com/2008/12/05/adobe-webinars/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[ Meeting ] Presentación Adobe Creative Suite 4</title>
		<link>http://www.riactive.com/2008/09/23/meeting-presentacion-adobe-creative-suite-4/</link>
		<comments>http://www.riactive.com/2008/09/23/meeting-presentacion-adobe-creative-suite-4/#comments</comments>
		<pubDate>Tue, 23 Sep 2008 18:41:03 +0000</pubDate>
		<dc:creator>Alberto Gonzalez</dc:creator>
				<category><![CDATA[CS4]]></category>
		<category><![CDATA[Eventos]]></category>

		<guid isPermaLink="false">http://riactive.com/?p=171</guid>
		<description><![CDATA[Que tal lectores de RIActive, bueno pues les tengo una excelente noticia. Recuerdan hace un par de años cuando presentamos Adobe CS3 ???, en ésta ocasión haremos un evento similar de presentación de Adobe Creative Suite para su 4° versión.

El lugar donde será presentado será el auditorio de Adobe Systems Inc. aquí en la Cd. [...]]]></description>
			<content:encoded><![CDATA[<p>Que tal lectores de RIActive, bueno pues les tengo una excelente noticia. Recuerdan hace un par de años cuando presentamos Adobe CS3 ???, en ésta ocasión haremos un evento similar de presentación de Adobe Creative Suite para su 4° versión.<br />
<br />
El lugar donde será presentado será el auditorio de Adobe Systems Inc. aquí en la Cd. de México ( Anexo la ubicación ).<br />
<br />
En el evento presentaremos las nuevas funcionalidades de los productos "clave" de cada paquete (Design, Web y Production) así que no hay excusa que valga para no asistir a éste evento <img src='http://www.riactive.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /><br />
<br />
Además llevaremos "souvenirs" para todos y otro regalitos más.<br />
<br />
La fecha y hora son: el día Jueves 2 de Octubre del presente año (2008) a las 8:30 AM. en Rubén Darío 280, esquina con Arquímedes y Reforma. Polanco. <strong>El cupo es limitado por lo que requerimos que se registren lo antes posible en la siguiente liga <a href="http://www.riactive.com/eventos/eventoCS4">http://www.riactive.com/eventos/eventoCS4</a></strong>.<br />
<br />
Saludos.<br />
<br />
<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps/ms?ie=UTF8&amp;s=AARTsJpil-DcSL10JkZqqdj0QSM5lwOfMA&amp;msa=0&amp;msid=109993578543626722714.000457806d25303a16b86&amp;ll=19.426064,-99.19192&amp;spn=0.014165,0.018239&amp;z=15&amp;output=embed"></iframe><br /><small><a href="http://maps.google.com/maps/ms?ie=UTF8&amp;msa=0&amp;msid=109993578543626722714.000457806d25303a16b86&amp;ll=19.426064,-99.19192&amp;spn=0.014165,0.018239&amp;z=15&amp;source=embed" style="color:#0000FF;text-align:left">View Larger Map</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.riactive.com/2008/09/23/meeting-presentacion-adobe-creative-suite-4/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Are you Ready for Something Brilliant? &#8211; Adobe Creative Suite 4</title>
		<link>http://www.riactive.com/2008/09/22/adobe-creative-suite-4/</link>
		<comments>http://www.riactive.com/2008/09/22/adobe-creative-suite-4/#comments</comments>
		<pubDate>Mon, 22 Sep 2008 21:04:29 +0000</pubDate>
		<dc:creator>yacaFx</dc:creator>
				<category><![CDATA[Actualizaciones]]></category>
		<category><![CDATA[CS4]]></category>
		<category><![CDATA[cs4 adobe creativesuite]]></category>

		<guid isPermaLink="false">http://riactive.com/?p=178</guid>
		<description><![CDATA[Mañana alrededor de las 9am será la presentación internacional de la Adobe Creative Suite 4 via webcast dondé se daran a conocer las nuevas caracteristicas de la suite y puedes registrarte al webcast aqui.
Como previo solo algunas aplicaciones de la version previa de la suite están confirmadas en la Suite 4, tales son: Dreamweaver, Fireworks, [...]]]></description>
			<content:encoded><![CDATA[<p>Mañana alrededor de las 9am será la presentación internacional de la Adobe Creative Suite 4 via webcast dondé se daran a conocer las nuevas caracteristicas de la suite y puedes registrarte al webcast <a title="Something Brilliant" href="http://adobe.istreamplanet.com/" target="_blank">aqui</a>.</p>
<p>Como previo solo algunas aplicaciones de la version previa de la suite están confirmadas en la Suite 4, tales son: Dreamweaver, Fireworks, Flash, Photoshop, SoundBooth e Indesign.</p>
<p>Y bueno para llamar un poquito mas la atención una de las caracteristicas a anunciar en el caso de Flash es la inclusión de rotación 3D (si por fin!!!), habrá que ver como viene.</p>
<p>En fin no deseo ser aguafiestas asi que si lees este post antes del 23 de Septiembre a las 9 am podras registrarte para ser de los primeros en ver la CS4 en acción!!!</p>
<p>Si participas en el webcast no olvides dejar tus comentarios aqui o suscribiendote gratuitamente a la <a href="http://groups-beta.google.com/group/riactive/subscribe" target="_blank">lista de distribución de RIACTIVE</a></p>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_something-brilliant2_1710889070"
			class="flashmovie"
			width="660"
			height="520">
	<param name="movie" value="http://adobe.istreamplanet.com/something-brilliant2.swf" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://adobe.istreamplanet.com/something-brilliant2.swf"
			name="fm_something-brilliant2_1710889070"
			width="660"
			height="520">
	<!--<![endif]-->
		
	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
<p>Saludos</p>
<p>Bytes by me</p>
<p>Sergio Brito</p>
]]></content:encoded>
			<wfw:commentRss>http://www.riactive.com/2008/09/22/adobe-creative-suite-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
