<?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>v.codeweblog &#187; ActionScript</title>
	<atom:link href="http://weblog.v-code.net/tag/actionscript/feed/" rel="self" type="application/rss+xml" />
	<link>http://weblog.v-code.net</link>
	<description>Blog de Víctor Rodríguez</description>
	<lastBuildDate>Tue, 15 Mar 2011 11:11:29 +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>Flash vs. Java: gana Java!</title>
		<link>http://weblog.v-code.net/2007/03/flash-vs-java-gana-java/</link>
		<comments>http://weblog.v-code.net/2007/03/flash-vs-java-gana-java/#comments</comments>
		<pubDate>Wed, 07 Mar 2007 22:28:48 +0000</pubDate>
		<dc:creator>VictorR</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[v.code]]></category>

		<guid isPermaLink="false">http://www.v-code.org/blog/2007/03/07/flash-vs-java-gana-java/</guid>
		<description><![CDATA[Recientemente cambié de trabajo, pero no solo de empresa. Hacía tiempo que me rondaba por la cabeza la posibilidad de volver a trabajar con Flash y programar en ActionScript después de un año y medio trabajando con Java. El resultado pasado un mes escaso, que vuelvo al Java. Y no es que no me guste [...]]]></description>
			<content:encoded><![CDATA[<p>Recientemente cambié de trabajo, pero no solo de empresa. Hacía tiempo que me rondaba por la cabeza la posibilidad de volver a trabajar con Flash y programar en ActionScript después de un año y medio trabajando con Java.</p>
<p>El resultado pasado un mes escaso, que vuelvo al Java. Y no es que no me guste Flash y el ActionScript. Es muy bonito y espectacular, pero mejor dejémoslo para los ratos libres, de momento. Hasta que no sea un lenguaje de verdad (no he probado AS3) prefiero dedicar mi vida profesional al Java y no encontrarme comportamientos &#8220;extraños&#8221; en la aplicación que esté implementando y que sean provocados por el lenguaje de programación utilizado.</p>
<p>Esto no quiere decir que deje definitivamente Flash aparcado, solo que no será mi prioridad. Qué tal un hobby?<br />
 <img src='http://weblog.v-code.net/wp-includes/images/smilies/icon_razz.gif' alt=':razz:' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://weblog.v-code.net/2007/03/flash-vs-java-gana-java/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Snik! Comunicación Interactiva</title>
		<link>http://weblog.v-code.net/2006/10/snik/</link>
		<comments>http://weblog.v-code.net/2006/10/snik/#comments</comments>
		<pubDate>Tue, 24 Oct 2006 14:13:27 +0000</pubDate>
		<dc:creator>VictorR</dc:creator>
				<category><![CDATA[Proyectos]]></category>
		<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://www.v-code.org/blog/?p=31</guid>
		<description><![CDATA[El primero de los proyectos, Snik! Comunicación Interactiva. Site corporativo de Sonia Compadre (Copy freelancer &#8211; Guionista) ha sido realizado íntegramente en Flash (versión 8 Professional) y ActionScript 2.0 en colaboración con el estudio de diseño limón. Sin embargo, no es un proyecto &#8220;finalizado&#8221;, en posteriores versiones se añadirá PHP para el negocio de backend.]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.v-code.org/images/Snik.png" alt="Snik! Comunicación Interactiva" class="alignleft" /> El primero de los proyectos, <a href="http://www.snik.es" target="_blank">Snik! Comunicación Interactiva</a>.</p>
<p>Site corporativo de <a href="http://www.snik.es/cv/" target="_blank">Sonia Compadre (Copy freelancer &#8211; Guionista)</a> ha sido realizado íntegramente en Flash (versión 8 Professional) y ActionScript 2.0 en colaboración con el estudio de diseño <a href="http://www.limonbcn.com" target="_blank">limón</a>.</p>
<p>Sin embargo, no es un proyecto &#8220;finalizado&#8221;, en posteriores versiones se añadirá PHP para el negocio de backend.</p>
]]></content:encoded>
			<wfw:commentRss>http://weblog.v-code.net/2006/10/snik/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Flex 2 y Flash 9 Preview</title>
		<link>http://weblog.v-code.net/2006/06/flex-2-y-flash-9-preview/</link>
		<comments>http://weblog.v-code.net/2006/06/flex-2-y-flash-9-preview/#comments</comments>
		<pubDate>Thu, 29 Jun 2006 13:26:50 +0000</pubDate>
		<dc:creator>VictorR</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://www.v-code.org/blog/?p=24</guid>
		<description><![CDATA[Ha sido niño! después de casi un embarazo de programación, y de alphas y betas, Adobe lanza la línea de productos Flex 2. Además, ha lanzado al mismo tiempo la única preview, antes del lanzamiento en el 2007, del nuevo Flash 9 (Blaze) para poder ir haciendo nuestros pinitos con ActionScript 3.0. Os dejo un [...]]]></description>
			<content:encoded><![CDATA[<p>Ha sido niño! después de casi un embarazo de programación, y de alphas y betas, Adobe lanza la línea de productos Flex 2.</p>
<p>Además, ha lanzado al mismo tiempo la única preview, antes del lanzamiento en el 2007, del nuevo Flash 9 (Blaze) para poder ir haciendo nuestros pinitos con ActionScript 3.0.</p>
<p>Os dejo un par de links por aquí:</p>
<ul>
<li><a href="http://labs.adobe.com/technologies/flash9as3preview/" target="_blank">Flash 9 ActionScript 3.0 Preview</a></li>
<li><a href="http://www.adobe.com/products/flex/">Flex 2.0</a></li>
</ul>
<p>Y otro dónde encontrareis mejor explicada la misma noticia:</p>
<ul>
<li><a href="http://www.carlosrovira.com/blog/?p=409" target="_blank">Flex 2 y Flash Player 9, la Nueva Revolición de Internet</a> del gran Carlos Rovira.</li>
</ul>
<p>A disfrutar!!</p>
]]></content:encoded>
			<wfw:commentRss>http://weblog.v-code.net/2006/06/flex-2-y-flash-9-preview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>_root vs. _parent …o no??</title>
		<link>http://weblog.v-code.net/2006/01/_root-vs-_parent-o-no/</link>
		<comments>http://weblog.v-code.net/2006/01/_root-vs-_parent-o-no/#comments</comments>
		<pubDate>Tue, 24 Jan 2006 16:29:48 +0000</pubDate>
		<dc:creator>VictorR</dc:creator>
				<category><![CDATA[ActionScript]]></category>

		<guid isPermaLink="false">http://www.v-code.org/blog/?p=12</guid>
		<description><![CDATA[En ocasiones me he encontrado con que he necesitado cargar un movie clip externo dentro de una aplicación más grande y que requería de las funcionalidades de estos movie clip’s con la sorpresa que utilizaban la propiedad “_root” y fallaban. Esto me suponía un gran problema, ahora no. Ahora os explicaré cómo solucionarlo y una [...]]]></description>
			<content:encoded><![CDATA[<p>En ocasiones me he encontrado con que he necesitado cargar un movie clip externo dentro de una aplicación más grande y que requería de las funcionalidades de estos movie clip’s con la sorpresa que utilizaban la propiedad “_root” y fallaban.</p>
<p>Esto me suponía un gran problema, ahora no. Ahora os explicaré cómo solucionarlo y una alternativa a esta propiedad.</p>
<p>_root, como dice la ayuda de Flash, especifica o devuelve una referencia al nivel principal del movie clip que estamos editando. Lo que supone que, si cargamos un movie clip que utilice esta propiedad, _root apuntará al nivel principal del movie clip padre y no al suyo como debería estar haciendo.</p>
<p>Una alternativa es la de utilizar SIEMPRE la propiedad _parent. Esta propiedad, especifica o devuelve una referencia al movie clip u objeto que contiene el actual movie clip u objeto, como dice la ayuda de Flash. Esto quiere decir que si cargamos un movie clip dentro de otro seguirá apuntando al nivel que apuntabamos cuando desarrollamos el movie clip hijo. Así nos ahorramos el problema.</p>
<p>Sin embargo, mirando detenidamente la ayuda de Flash, podemos encontrar otra solución. Esta solución nos permite seguir utilizando la propiedad _root sin problemas. Para ello debemos bloquear el nivel root del movie clip hijo, ya sea desde dentro del movie clip hijo o desde el padre. El objeto MovieClip tiene una propiedad, booleana, _lockroot, que nos hace la vida un poco más fácil.</p>
<div class="codecolorer-container actionscript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="actionscript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #808080; font-style: italic;">//desde dentro del movie clip cargado.</span><br />
<span style="color: #0066CC;">MovieClip</span>.<span style="color: #0066CC;">_lockroot</span> = <span style="color: #000000; font-weight: bold;">true</span>;</div></div>
<div class="codecolorer-container actionscript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="actionscript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #808080; font-style: italic;">//desde el movie clip padre</span><br />
myMovie.<span style="color: #0066CC;">_lockroot</span> = <span style="color: #000000; font-weight: bold;">true</span>;</div></div>
<p>Cuando me planteé escribir este artículo, no conocía esta propiedad de la clase MovieClip. Así que pretendía aconsejar utilizar siempre la propiedad _parent para evitar estos problemas. Sin embargo, aunque seguiré utilizando _parent por mi mala memoria, sabed que hay un remedio mejor que modificar todo el código de un movie clip cuando utiliceis _root y carguéis ese clip en otro. La elección de dónde utilizarla es vuestra.</p>
<p>Un saludo, y hasta el próximo artículo.</p>
]]></content:encoded>
			<wfw:commentRss>http://weblog.v-code.net/2006/01/_root-vs-_parent-o-no/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Cargar imágenes aleatoriamente II: SharedObject</title>
		<link>http://weblog.v-code.net/2006/01/cargar-imagenes-aleatoriamente-ii-sharedobject/</link>
		<comments>http://weblog.v-code.net/2006/01/cargar-imagenes-aleatoriamente-ii-sharedobject/#comments</comments>
		<pubDate>Mon, 09 Jan 2006 10:47:13 +0000</pubDate>
		<dc:creator>VictorR</dc:creator>
				<category><![CDATA[ActionScript]]></category>

		<guid isPermaLink="false">http://www.v-code.org/blog/?p=11</guid>
		<description><![CDATA[Si recordáis, el 9 de Noviembre explicaba cómo cargar imágenes de forma aleatoria cada vez que se cargaba una película Flash. Bien, el artículo acababa proponiendo una mejora: no cargar dos veces seguidas la misma imagen. Una solución a ese problema es fácilmente implementada mediante los SharedObject de Flash. Que no sabéis que son los [...]]]></description>
			<content:encoded><![CDATA[<p>Si recordáis, el 9 de Noviembre explicaba cómo <a href="http://weblog.v-code.org/2005/11/cargar-imagenes-aleatoriamente/">cargar imágenes de forma aleatoria</a> cada vez que se cargaba una película Flash. Bien, el artículo acababa proponiendo una mejora: no cargar dos veces seguidas la misma imagen.</p>
<p>Una solución a ese problema es fácilmente implementada mediante los SharedObject de Flash. Que no sabéis que son los SharedObject? Pues algo así como las cookies para el resto de lenguajes de programación web. Es decir, permiten mantener una persistencia de una cantidad limitada de datos en el cliente como, por ejemplo, nombre de usuario de una aplicación, puntuación conseguida en un juego, etc.</p>
<p>Las principales funciones de la clase SharedObject y las que vamos a utilizar en esta práctica son:</p>
<p>getLocal(): devuelve una referencia a un objeto guardado en el cliente o, si no existe, lo crea.</p>
<p>flush(): escribe la información que se desea guardar en un fichero en el cliente.</p>
<p>Y la propiedad de la clase SharedObject es:</p>
<p>data: Objeto. Como objeto que es, se pueden crear propiedades dinámicamente, estas propiedades será la información que guardemos al ejecutar la función flush().</p>
<p>Si recordais el código introducido en el MovieClip &#8220;images&#8221; en el artículo anterior:</p>
<div class="codecolorer-container actionscript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="actionscript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">var</span> numberOfFrames:<span style="color: #0066CC;">Number</span> = <span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_totalframes</span>;<br />
<span style="color: #000000; font-weight: bold;">var</span> <span style="color: #0066CC;">date</span>:<span style="color: #0066CC;">Date</span> = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">Date</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
<span style="color: #000000; font-weight: bold;">var</span> frame:<span style="color: #0066CC;">Number</span> = <span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">date</span>.<span style="color: #0066CC;">getSeconds</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">%</span> numberOfFrames<span style="color: #66cc66;">&#41;</span> + <span style="color: #cc66cc;">1</span>;<br />
<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">gotoAndStop</span><span style="color: #66cc66;">&#40;</span>frame<span style="color: #66cc66;">&#41;</span>;</div></div>
<p>Conseguíamos decidir en qué frame colocar el cabezal de tiempo a partir de los segundos del objeto Date. A continuación marco en negrita los cambios a realizar para que no repita frame utilizando los SharedObject:</p>
<div class="codecolorer-container actionscript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="actionscript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">var</span> numberOfFrames:<span style="color: #0066CC;">Number</span> = <span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_totalframes</span>;<br />
<span style="color: #000000; font-weight: bold;">var</span> <span style="color: #0066CC;">date</span>:<span style="color: #0066CC;">Date</span> = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">Date</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
<span style="color: #000000; font-weight: bold;">var</span> frame:<span style="color: #0066CC;">Number</span> = <span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">date</span>.<span style="color: #0066CC;">getSeconds</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">%</span> numberOfFrames<span style="color: #66cc66;">&#41;</span> + <span style="color: #cc66cc;">1</span>;<br />
<br />
<span style="color: #000000; font-weight: bold;">var</span> soLastVisited:<span style="color: #0066CC;">SharedObject</span> = <span style="color: #0066CC;">SharedObject</span>.<span style="color: #0066CC;">getLocal</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;lastVisited&quot;</span><span style="color: #66cc66;">&#41;</span>;<br />
<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>lastVisited.<span style="color: #0066CC;">data</span>.<span style="color: #006600;">frame</span> == frame<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; frame = <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span>frame + <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">%</span> numberOfFrames<span style="color: #66cc66;">&#41;</span> + <span style="color: #cc66cc;">1</span>;<br />
<span style="color: #66cc66;">&#125;</span><br />
soLastVisited.<span style="color: #0066CC;">data</span>.<span style="color: #006600;">frame</span> = frame;<br />
soLastVisited.<span style="color: #0066CC;">flush</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
<br />
<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">gotoAndStop</span><span style="color: #66cc66;">&#40;</span>frame<span style="color: #66cc66;">&#41;</span>;</div></div>
<p>Expliquemos un poco el código.</p>
<p>En primer lugar, creamos el objeto soLastVisited del tipo SharedObject. Mediante la finción getLocal() intentamos leer el objeto del cliente, si este no existe, lo creamos en este momento.</p>
<div class="codecolorer-container actionscript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="actionscript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">var</span> soLastVisited:<span style="color: #0066CC;">SharedObject</span> = <span style="color: #0066CC;">SharedObject</span>.<span style="color: #0066CC;">getLocal</span><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;lastVisited&quot;</span><span style="color: #66cc66;">&#41;</span>;</div></div>
<p>Si el frame calculado es el mismo que el que tenemos registrado tras la última visita, le sumamos uno y volvemos a aplicar el módulo respecto el total de frames.</p>
<div class="codecolorer-container actionscript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="actionscript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>lastVisited.<span style="color: #0066CC;">data</span>.<span style="color: #006600;">frame</span> == frame<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; frame = <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#40;</span>frame + <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">%</span> numberOfFrames<span style="color: #66cc66;">&#41;</span> + <span style="color: #cc66cc;">1</span>;<br />
<span style="color: #66cc66;">&#125;</span></div></div>
<p>Finalmente, guardamos los datos en la propiedad data de nuestro SharedObject y en el cliente mediante la función flush().</p>
<div class="codecolorer-container actionscript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="actionscript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">soLastVisited.<span style="color: #0066CC;">data</span>.<span style="color: #006600;">frame</span> = frame;<br />
soLastVisited.<span style="color: #0066CC;">flush</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</div></div>
<p>Y patatín, patatán, patabuuum! Acabado el ejercicio, sin dificultad alguna, verdad? Ahora que ya sabemos algo de los SharedObject de Flash podemos practicar a crear una aplicación que pida algún dato al usuario, como su nombre, domicilio, cuenta bancaria y me los enviais a mi para que le pase una pequeña factura con unos cuantos ceros… jejeje, esto es broma, pero las posibilidades de inventar con esto son muchas y diversas.</p>
<p>Un saludo a todos.</p>
]]></content:encoded>
			<wfw:commentRss>http://weblog.v-code.net/2006/01/cargar-imagenes-aleatoriamente-ii-sharedobject/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>v.code en ActionScript.es</title>
		<link>http://weblog.v-code.net/2006/01/v-code-en-actionscriptes/</link>
		<comments>http://weblog.v-code.net/2006/01/v-code-en-actionscriptes/#comments</comments>
		<pubDate>Wed, 04 Jan 2006 15:01:54 +0000</pubDate>
		<dc:creator>VictorR</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://www.v-code.org/blog/?p=10</guid>
		<description><![CDATA[v.code ha sido aceptado en el nuevo ActionScript.es como un site de referencia para Flash. ActionScript.es es un nuevo proyecto que se crea como un directorio dedicado exclusivamente a Flash por Marc Palau, a quien quiero agradecer su iniciativa y desear que ActionScript.es crezca y llegue a ser realmente una referencia para la comunidad flashera. [...]]]></description>
			<content:encoded><![CDATA[<p><strong>v.code</strong> ha sido aceptado en el nuevo <a href="http://www.actionscript.es">ActionScript.es</a> como un site de referencia para Flash.</p>
<p><a href="http://www.actionscript.es">ActionScript.es</a> es un nuevo proyecto que se crea como un directorio dedicado exclusivamente a Flash por Marc Palau, a quien quiero agradecer su iniciativa y desear que <a href="http://www.actionscript.es">ActionScript.es</a> crezca y llegue a ser realmente una referencia para la comunidad flashera.</p>
<p>Sin duda una gran idea que espero que tenga continuidad.</p>
]]></content:encoded>
			<wfw:commentRss>http://weblog.v-code.net/2006/01/v-code-en-actionscriptes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ActionScript 2.0 de Colin Moock</title>
		<link>http://weblog.v-code.net/2005/12/actionscript-20-de-colin-moock/</link>
		<comments>http://weblog.v-code.net/2005/12/actionscript-20-de-colin-moock/#comments</comments>
		<pubDate>Fri, 02 Dec 2005 17:55:12 +0000</pubDate>
		<dc:creator>VictorR</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://v-code.org/blog/?p=8</guid>
		<description><![CDATA[Hace unas dos semanas vi en el Corte Inglés el libro de Colin Moock ActionScript 2.0: Soluciones para el desarrollo orientado a objetos. No me resistí a comprarlo. Había oído hablar de él y de su “hermano” ActionScript for Flash MX: The Definitive Guide, ambos escritos por Colin y editados por O’Reilly. Es un libro [...]]]></description>
			<content:encoded><![CDATA[<p>Hace unas dos semanas vi en el Corte Inglés el libro de <a href="http://www.moock.org/" traget="_blank">Colin Moock</a> <em>ActionScript 2.0: Soluciones para el desarrollo orientado a objetos</em>. No me resistí a comprarlo.</p>
<p>Había oído hablar de él y de su “hermano” <em>ActionScript for Flash MX: The Definitive Guide</em>, ambos escritos por <a href="http://www.moock.org/" traget="_blank">Colin</a> y editados por <a href="http://www.oreilly.com/" target="_blank">O’Reilly</a>. Es un libro excelente y que recomiendo que  compréis.</p>
<p>Y si queréis más referencias, <a href="http://www.carlosrovira.com/books/eas2_moock.php" target="_blank">aquí</a> os dejo un enlace a un artículo del gran Carlos Rovira donde detalla muchísimo mejor el libro de lo que yo lo haría.</p>
<p>Por cierto Carlos, está disponible en castellano editado por <a href="http://www.anayamultimedia.es" target="_blank">Anaya Multimedia</a>. <img src='http://weblog.v-code.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://weblog.v-code.net/2005/12/actionscript-20-de-colin-moock/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cargar imágenes aleatoriamente</title>
		<link>http://weblog.v-code.net/2005/11/cargar-imagenes-aleatoriamente/</link>
		<comments>http://weblog.v-code.net/2005/11/cargar-imagenes-aleatoriamente/#comments</comments>
		<pubDate>Wed, 09 Nov 2005 09:02:45 +0000</pubDate>
		<dc:creator>VictorR</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://v-code.org/blog/?p=6</guid>
		<description><![CDATA[Un efecto bonito y sencillo es el de cargar aleatoriamente una imagen en un banner cada vez que se accede a una página web. Eso es exactamente lo que he hecho en la cabecera de este mismo site. La manera como lo he implementado es rápida y sencilla. Seguro que hay otras opciones muy válidas [...]]]></description>
			<content:encoded><![CDATA[<p>Un efecto bonito y sencillo es el de cargar aleatoriamente una imagen en un banner cada vez que se accede a una página web. Eso es exactamente lo que he hecho en la cabecera de este mismo site.</p>
<p>La manera como lo he implementado es rápida y sencilla. Seguro que hay otras opciones muy válidas y más elegantes, por ejemplo utilizando el Math.random(), pero he decidido “innovar” y utilizar la clase Date. Ahora os enseño cómo.</p>
<p>Lo primero que debemos hacer es “montar el escenario”. En nuestra película debemos crear un nuevo MovieClip, que llamaremos “images”. Dentro de este MovieClip creamos dos layers, “actions” y “photos”. Ahora, en el primer frame del layer “actions” insertamos el siguiente código.</p>
<div class="codecolorer-container actionscript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="actionscript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">var</span> numberOfFrames:<span style="color: #0066CC;">Number</span> = <span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">_totalframes</span>;<br />
<span style="color: #000000; font-weight: bold;">var</span> <span style="color: #0066CC;">date</span>:<span style="color: #0066CC;">Date</span> = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">Date</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
<span style="color: #000000; font-weight: bold;">var</span> frame:<span style="color: #0066CC;">Number</span> = <span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">date</span>.<span style="color: #0066CC;">getSeconds</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">%</span> numberOfFrames<span style="color: #66cc66;">&#41;</span> + <span style="color: #cc66cc;">1</span>;<br />
<span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">gotoAndStop</span><span style="color: #66cc66;">&#40;</span>frame<span style="color: #66cc66;">&#41;</span>;</div></div>
<p>Vayamos a comentar el código.</p>
<p>En la primera línea de código cogemos el número de frames totales que tendrá nuestro MovieClip “images”, que coincide con el número de fotos que se podrán ver y cargar de forma aleatoria. ¿Por qué coinciden? Porque en el layer “photos” debemos colorar una foto por frame, sobretodo para no sobreponer las imágenes entre sí y se tapen, lógico no?</p>
<p>Esta línea es más importante de lo que parece. Alguien puede sugerir poner el número de fotos harcodeado directamente, pero ¿qué pasará si queremos añadir o quitar fotos? Que si queremos mostrar todas las fotos o que no dé error deberemos modificar manualmente el número introducido. De esta manera, con la sentencia “this._totalframes”, este mantenimiento no es necesario, ya que es automático.</p>
<p>Las siguientes dos sentencias son para saber a qué frame desplazaremos el cursor del tiempo del MovieClip “images”. A partir de la hora de carga del MC, y teniendo en cuenta los segundos, conseguimos decidir a qué frame o qué foto cargar mediante el módulo de los segundos con el número de fotos (%).</p>
<p>Un ejemplo, si se carga la película a las 8:30:01 horas, estas sentencias determinarán que el módulo de 1 (1 segundo) con respecto a 7 (si tuviéramos 7 fotos) es 1, con lo que cargaríamos la foto que se encuentra en el frame 2 (le tenemos que sumar 1 debido a que los frames de flash se indexan a partir de 1, y por lo tanto, cuando el resultado sea 0 deberemos cargar el frame 1). ¿Entendido? Espero que sí porque tengo la sensación de explicarme un poco mal.</p>
<p>Finalmente, la cuarta sentencia simplemente coloca el cursor del tiempo en el frame resultante.</p>
<p>Pues eso es todo, sencillo aunque por la parrafada no lo parezca. Ahora a desvariar un poco más y mejorar la idea inicial para que, por ejemplo, no cargue dos veces seguidas la misma foto o frame. Pero eso lo dejaré para otro artículo, ahora voy a investigar cómo hacerlo  <img src='http://weblog.v-code.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://weblog.v-code.net/2005/11/cargar-imagenes-aleatoriamente/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

