<?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>Lucas Mourelle &#187; programación</title>
	<atom:link href="http://www.lucasmourelle.com.ar/category/programacion/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.lucasmourelle.com.ar</link>
	<description>diseñador / desarrollador / docente</description>
	<lastBuildDate>Sun, 05 Feb 2012 13:26:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Charla: Videojuegos para la Web</title>
		<link>http://www.lucasmourelle.com.ar/2011/charla-videojuegos-para-la-web/</link>
		<comments>http://www.lucasmourelle.com.ar/2011/charla-videojuegos-para-la-web/#comments</comments>
		<pubDate>Fri, 15 Apr 2011 12:20:48 +0000</pubDate>
		<dc:creator>Lucas Mourelle</dc:creator>
				<category><![CDATA[desarrollo web]]></category>
		<category><![CDATA[programación]]></category>

		<guid isPermaLink="false">http://www.lucasmourelle.com.ar/?p=569</guid>
		<description><![CDATA[Estaré dando una charla sobre Videojuegos para la Web en la Universidad de Palermo. La primera parte será el día Lunes 18 de abril, y la segunda se hará el lunes siguiente: 25 de abril: ambos encuentros ocurrirán a las &#8230; <a href="http://www.lucasmourelle.com.ar/2011/charla-videojuegos-para-la-web/">Continued</a>]]></description>
			<content:encoded><![CDATA[<p><a title="Lucas Mourelle - videojuegos para la web" href="http://fido.palermo.edu/servicios_dyc/noticiasdc/eventos/login/index.php?id_activ=2701"><img class="aligncenter size-full wp-image-570" title="Lucas Mourelle - videojuegos para la web" src="http://www.lucasmourelle.com.ar/wp-content/uploads/2011/04/open_dc_up_mourelle.png" alt="" width="350" height="322" /></a></p>
<p>Estaré dando una charla sobre <em>Videojuegos para la Web</em> en la Universidad de Palermo. La primera parte será el día Lunes 18 de abril, y la segunda se hará el lunes siguiente: 25 de abril: ambos encuentros ocurrirán a las 11.30 de la mañana, en la UP: Mario Bravo 1050.</p>
<p>[Ni que lo digan… no salí favorecido en la foto.]</p>
<h1>¿Por qué una charla de videojuegos para la Web?</h1>
<p>En el último tiempo ha habido una revalorización de los videojuegos simples, también llamados <em>arcade</em>, debido a su inclusión en sitios web y aplicaciones para dispositivos móviles.</p>
<p>En el encuentro se expondrá el proceso completo de programación de un videojuego <em>arcade</em>. La actividad implica una excusa sobre la cual trabajar, a modo introductorio, el paradigma de Programación Orientada a Objetos (OOP) y la metodología para encarar un proyecto de este género desde el punto de vista del desarrollo.</p>
<p>El proyecto se programará en lenguaje ActionScript3. No se requieren conocimientos previos siendo que el curso no hará especial hincapié en el lenguaje de programación, su sintaxis, o la Plataforma Flash. Daremos lugar a la experiencia de una propuesta metodológica que implica la solución de problemas paso a paso.</p>
<h1>De nuevo… ¿Dónde y cuándo?</h1>
<p><strong>Lunes 18 y 25 de abril &#8211; 11.30 hs.</strong><br />
<strong> Mario Bravo 1050 &#8211; Universidad de Palermo.</strong></p>
<p>El acceso a la charla es gratuito, pero hay que inscribirse.<br />
<a title="Inscribirse a la charla de Videojuegos para la Web" href="http://fido.palermo.edu/servicios_dyc/noticiasdc/eventos/login/index.php?id_activ=2701">Click aquí para inscribirse</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucasmourelle.com.ar/2011/charla-videojuegos-para-la-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Excelente video explicativo</title>
		<link>http://www.lucasmourelle.com.ar/2010/excelente-video-explicativo/</link>
		<comments>http://www.lucasmourelle.com.ar/2010/excelente-video-explicativo/#comments</comments>
		<pubDate>Wed, 16 Jun 2010 01:26:41 +0000</pubDate>
		<dc:creator>Lucas Mourelle</dc:creator>
				<category><![CDATA[desarrollo web]]></category>
		<category><![CDATA[instantáneas]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[tecnología]]></category>
		<category><![CDATA[computación]]></category>
		<category><![CDATA[diseño]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.lucasmourelle.com.ar/?p=387</guid>
		<description><![CDATA[Es genial cuando se logra explicar un asunto complejo de forma simple. Aquí una explicación acerca del funcionamiento del buscador de Google.]]></description>
			<content:encoded><![CDATA[<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="430" height="340" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/BNHR6IQJGZs&amp;hl=en_US&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="430" height="340" src="http://www.youtube.com/v/BNHR6IQJGZs&amp;hl=en_US&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Es genial cuando se logra explicar un asunto complejo de forma simple. Aquí una explicación acerca del funcionamiento del buscador de <a title="Google" href="http://www.google.com/">Google</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucasmourelle.com.ar/2010/excelente-video-explicativo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Carga de archivos en AS3</title>
		<link>http://www.lucasmourelle.com.ar/2010/carga-de-archivos-en-as3/</link>
		<comments>http://www.lucasmourelle.com.ar/2010/carga-de-archivos-en-as3/#comments</comments>
		<pubDate>Sat, 13 Feb 2010 01:32:58 +0000</pubDate>
		<dc:creator>Lucas Mourelle</dc:creator>
				<category><![CDATA[desarrollo web]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[tecnología]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://www.lucasmourelle.com.ar/?p=149</guid>
		<description><![CDATA[Antes y después El lengueja de programación de la Plataforma Flash ha pasado por 3 versiones: ActionScript 1, ActionScript, 2 y ActionScript 3. Como sabemos, varias cuestiones han cambiado en el paso de AS2 a AS3. La carga de archivos &#8230; <a href="http://www.lucasmourelle.com.ar/2010/carga-de-archivos-en-as3/">Continued</a>]]></description>
			<content:encoded><![CDATA[<h1>Antes y después</h1>
<p>El lengueja de programación de la Plataforma Flash ha pasado por 3 versiones: ActionScript 1, ActionScript, 2 y ActionScript 3. Como sabemos, varias cuestiones han cambiado en el paso de AS2 a AS3. La carga de archivos externos es una de ellas. Si bien la traducción literal es más o menos sencilla, vale la pena repasarla.</p>
<p>Lo que en AS2 solíamos hacer así:</p>
<pre class="brush: as3; light: true; pad-line-numbers: 2; title: ; wrap-lines: false; notranslate">
loadMovie(&quot;archivo_secundario.swf&quot;, this);
</pre>
<p>En AS3 se debe hacer así (el ejemplo citado a continuación está copiado de la documentación de Adobe, y luego ligeramente modificado):</p>
<pre class="brush: as3; light: true; pad-line-numbers: 2; title: ; wrap-lines: false; notranslate">
import flash.display.*;
import flash.net.URLRequest;
var cargador:Loader = new Loader();
var urlReq:URLRequest = new URLRequest(&quot;archivo_secundario.swf&quot;);
cargador.load(urlReq);
this.addChild(cargador);
</pre>
<p>Más allá de lo que se puede ver a golpe de vista, hay un par de cuestiones interesantes que trataré de sacar a la luz en este post.</p>
<h1>El ejemplo de Adobe:</h1>
<p>Antes de crear nuestro propio ejemplo —seguramente más complejo— repasaremos lo que hicieron los muchachos de Adobe. El ejemplo original se incluye en la documentación de la clase Loader (encargada de la carga de archivos externos en AS3).</p>
<p>Se importan las clases necesarias para la realización de la carga de un archivo externo. Nosotros lo haremos de forma detallada cuando nos toque crear nuestro propio ejemplo. Adobe ha sido un poco vago al importar todas las clases del paquete <strong>flash.display</strong> sin mayores precisiones (como podrán ver ustedes mismos, ésta no es una práctica muy amigable ya que el paquete <a href="http://help.adobe.com/en_US/AS3LCR/Flash_10.0/flash/display/package-detail.html" target="_blank">flash.display</a> contiene numerosas clases que no están siendo utilizadas por el resto del código).</p>
<pre class="brush: as3; light: true; pad-line-numbers: 2; title: ; wrap-lines: false; notranslate">
// importar las clases necesarias:
import flash.display.*;
import flash.net.URLRequest;
</pre>
<p>Se crea una instancia de la clase <a href="http://help.adobe.com/en_US/AS3LCR/Flash_10.0/flash/display/Loader.html" target="_blank">Loader</a>, que hará las veces de cargador. Este tipo de objeto (que hereda de la clase <a href="http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/display/DisplayObjectContainer.html" target="_blank">DisplayObjectContainer</a>) tiene la funcionalidad necesaria para realizar la carga.</p>
<pre class="brush: as3; light: true; pad-line-numbers: 2; title: ; wrap-lines: false; notranslate">
// crear el cargador:
var cargador:Loader = new Loader();
</pre>
<p>Se prepara una instancia de <a href="http://help.adobe.com/en_US/AS3LCR/Flash_10.0/flash/net/URLRequest.html" target="_blank">URLRequest</a>, el tipo de objeto que espera recibir el método <a href="http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/display/Loader.html#load%28%29" target="_blank">load</a> de la clase <a href="http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/display/Loader.html" target="_blank">Loader</a>.</p>
<pre class="brush: as3; light: true; pad-line-numbers: 2; title: ; wrap-lines: false; notranslate">
// preparar la URL request:
var urlReq:URLRequest = new URLRequest(&quot;archivo_secundario.swf&quot;);
</pre>
<p>Efectivamente se da la orden de carga por medio de la función <a href="http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/display/Loader.html#load%28%29" target="_blank">load</a>, incluyendo como parámetro a aquel objeto de tipo <a href="http://help.adobe.com/en_US/AS3LCR/Flash_10.0/flash/net/URLRequest.html" target="_blank">URLRequest</a> que creamos anteriormente.</p>
<pre class="brush: as3; light: true; pad-line-numbers: 2; title: ; wrap-lines: false; notranslate">
// se da la orden de carga:
cargador.load(urlReq);
</pre>
<p>Hasta aquí, la carga del archivo externo ya se puso en marcha, pero aún queda agregarlo a la escena. La siguiente línea de código agrega al <strong>cargador</strong> (de tipo Loader) a la escena, como <em>child</em> del <strong>root</strong>. Siendo que los objetos de clase <a href="http://help.adobe.com/en_US/AS3LCR/Flash_10.0/flash/display/Loader.html" target="_blank">Loader</a> heredan de <a href="http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/display/DisplayObjectContainer.html" target="_blank">DisplayObjectContainer</a>, tienen la posibilidad de agregarse a la <em>Display List</em>, al igual que un MovieClip o un Sprite.</p>
<pre class="brush: as3; light: true; pad-line-numbers: 2; title: ; wrap-lines: false; notranslate">
// poner el cargador en escena:
this.addChild(cargador);
</pre>
<p>Recordemos el código completo, comentado:</p>
<pre class="brush: as3; light: true; pad-line-numbers: 2; title: ; wrap-lines: false; notranslate">
// importar las clases necesarias:
import flash.display.*;
import flash.net.URLRequest;
// crear el cargador:
var cargador:Loader = new Loader();
// preparar la URL request:
var urlReq:URLRequest = new URLRequest(&quot;archivo_secundario.swf&quot;);
// dar la orden de carga:
cargador.load(urlReq);
// poner el cargador en escena:
this.addChild(cargador);
</pre>
<p>A primera vista, parece mucho más complejo que la escueta versión en AS2 (y lo es), pero en programación <em>menos</em> no siempre es <em>más</em>. El cambio a AS3 nos facilita la resolución de errores y la generación de diferentes funcionalidades. El código nuevo ganó en complejidad, pero también en coherencia, orientación a objetos, facilidad en la solución de errores y funcionalidad.</p>
<p>Veremos un poco más a fondo el asunto en la siguiente página&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lucasmourelle.com.ar/2010/carga-de-archivos-en-as3/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

