<?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>Filipe Silvestrim Blog &#124; Game Development and ActionScript &#187; ActionScript 3</title>
	<atom:link href="http://www.filipesilvestrim.com/blog/category/actionscript-3/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.filipesilvestrim.com/blog</link>
	<description>Researchs, curiosities and stuffs about Web and Game Development and interactive technologies</description>
	<lastBuildDate>Fri, 16 Oct 2009 19:25:25 +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>SpotLights to RTS games and pseudo inverse masks</title>
		<link>http://www.filipesilvestrim.com/blog/02/02/2009/spotlights-to-rts-games-and-pseudo-inverse-masks/</link>
		<comments>http://www.filipesilvestrim.com/blog/02/02/2009/spotlights-to-rts-games-and-pseudo-inverse-masks/#comments</comments>
		<pubDate>Tue, 03 Feb 2009 06:23:45 +0000</pubDate>
		<dc:creator>Filipe Silvestrim</dc:creator>
				<category><![CDATA[ActionScript 3]]></category>
		<category><![CDATA[Games]]></category>

		<guid isPermaLink="false">http://www.filipesilvestrim.com/blog/?p=24</guid>
		<description><![CDATA[Well&#8230; Today a friend of mine asked me to help him with a night render for his RTS game. He needed an inverse mask to his MovieClip (which was his entire game). I thought a little and I decided to help him. I started writing an inverse mask, but I realized that this would exhaust [...]]]></description>
			<content:encoded><![CDATA[<p>Well&#8230; Today a friend of mine asked me to help him with a night render for his <a title="RTS Genre" href="http://en.wikipedia.org/wiki/Real-time_strategy" target="_blank">RTS</a> game. He needed an inverse mask to his MovieClip (which was his entire game). I thought a little and I decided to help him. I started writing an inverse mask, but I realized that this would exhaust the cpu. So I thought that what really matters to him is to create a layer of fog on his game, so I wrote (in a few minutes) 2 classes that manage theses &#8220;Spots Lights&#8221;.</p>
<p>The result as you can see is here (drag the red circles):</p>
<p>
<object width="350" height="468">
<param name="movie" value="http://www.filipesilvestrim.com/blog/wp-content/uploads/2009/02/labs.swf"></param>
<param name="quality" value="high"></param>
<param name="wmode" value="window"></param>
<param name="menu" value="false"></param>
<param name="bgcolor" value="#FFFFFF"></param>
<embed type="application/x-shockwave-flash" width="350" height="468" src="http://www.filipesilvestrim.com/blog/wp-content/uploads/2009/02/labs.swf" quality="high" bgcolor="#FFFFFF" wmode="window" menu="false" ></embed>
</object>
</p>
<p style="text-align: left;">As I&#8217;m writing codes that are not related to my engine (the one I&#8217;m writing for my final project), I decided to create a <a title="Filipe Silvestrim Repository" href="http://code.google.com/p/filipesilvestrim/" target="_blank">Google Code Repository</a> for my extra experiments. This way the classes will be always there. This first experiment can be improved a lot. If you have some comments or know a better way of doing it, please let me know <img src='http://www.filipesilvestrim.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p style="text-align: left;">This example&#8217;s class is here:</p>
<pre class="brush: as3;">
package {
    import com.filipesilvestrim.game.render.light.SpotLight;
    import com.filipesilvestrim.game.render.light.SpotRenderer;

    import flash.display.Sprite;
    import flash.display.StageScaleMode;
    import flash.events.Event;
    import flash.events.MouseEvent;

    [SWF(width=350, height=468)]
    public class SpotExperiment extends Sprite
    {
    private var spotRender 		: SpotRenderer;
    private var spotSelected 	: SpotLight;

    [Embed(source=&quot;aoe.jpg&quot;)]
    private var map : Class;

    public function SpotExperiment()
    {
        stage.scaleMode = StageScaleMode.NO_SCALE;
        addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown);
        addEventListener(MouseEvent.MOUSE_UP, onMouseUp);
        addEventListener(Event.MOUSE_LEAVE, onMouseUp);
        addEventListener(Event.ENTER_FRAME, onEnterFrame);

        //Adding the background (in some cases the game as itself)
        addChild(new map());

        //creating the render. The first param is where we'll add the representation, the second is the width and the third is the height
        spotRender = new SpotRenderer(this, 350, 468);
        //here we can change the fog color to other one and the transparency
        spotRender.changeColorMap(0x000000, 1);

        //Now we're adding 3 spots of diferent sizes and position
        //As params we have: name, pos X, pos Y, width, height
        var spot1 : SpotLight = new SpotLight(&quot;spot1&quot;, 200,200,200,200);
        //we can adjust the intensity from 0 to 1
        spot1.intensity = 1;
        //the focus can be adjusted too
        spot1.focus = .5;
        //adds the red ball for debug
        spot1.debug(this);
        //add the spot to be rendered
        spotRender.addSpot(spot1);

        var spot2 : SpotLight = new SpotLight(&quot;spot2&quot;, 250,300,100,100);
        spot2.debug(this);
        spotRender.addSpot(spot2);

        var spot3 : SpotLight = new SpotLight(&quot;spot3&quot;, 100, 100, 300, 300);
        spot3.debug(this);
        spotRender.addSpot(spot3);

        //render as first time to the scenario don't appear without no one fog
        spotRender.render();
    }

        private function onMouseDown ( event : MouseEvent ) : void
        {
            //if some spot is target
            if (spotRender.getSpot(event.target.name) != null)
            {
                //hold in the spotSelected variable the sport that represents that Sprite ball
                spotSelected = spotRender.getSpot(event.target.name);
            }
        }

        private function onMouseUp ( event : Event ) : void
        {
            //if mouse released
            spotSelected = null;
        }

        private function onEnterFrame ( event : Event ) : void
        {
            //hold the spots changes (if some spot selected)
            if(spotSelected != null)
            {
                //reposition the spot and the debug reference accourding the mouse position
                spotSelected.x = spotSelected.spriteDebug.x = mouseX;
                spotSelected.y = spotSelected.spriteDebug.y = mouseY;
                //when change the position the sportRender must be rendered again
                spotRender.render();
            }
        }
    }
}</pre>
<p style="text-align: left;">
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">[<ins>SWF]</ins>http://www.filipesilvestrim.com/blog/wp-content/uploads/2009/02/labs.swf<ins>,</ins> 350<ins>,</ins> 468<ins>[</ins><ins>/SWF</ins>]</div>
]]></content:encoded>
			<wfw:commentRss>http://www.filipesilvestrim.com/blog/02/02/2009/spotlights-to-rts-games-and-pseudo-inverse-masks/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Clone a object with type cast</title>
		<link>http://www.filipesilvestrim.com/blog/29/01/2009/clone-a-object-with-type-cast/</link>
		<comments>http://www.filipesilvestrim.com/blog/29/01/2009/clone-a-object-with-type-cast/#comments</comments>
		<pubDate>Fri, 30 Jan 2009 03:22:09 +0000</pubDate>
		<dc:creator>Filipe Silvestrim</dc:creator>
				<category><![CDATA[ActionScript 3]]></category>
		<category><![CDATA[Flex 3]]></category>

		<guid isPermaLink="false">http://www.filipesilvestrim.com/blog/29/01/2009/clone-a-object-with-type-cast/</guid>
		<description><![CDATA[Wheel, I&#8217;m not writing another way of do it&#8230;
Is the same way that ObjectUtils of Flex Framework do, but&#8230; Imagine that we want to duplicate one object of the class Example, we can just do the clone with a code like this:

public function deepClone ( obj : * ) : *
{
     [...]]]></description>
			<content:encoded><![CDATA[<p>Wheel, I&#8217;m not writing another way of do it&#8230;</p>
<p>Is the same way that ObjectUtils of Flex Framework do, but&#8230; Imagine that we want to duplicate one object of the class Example, we can just do the clone with a code like this:</p>
<pre class="brush: as3;">
public function deepClone ( obj : * ) : *
{
        var bytes : ByteArray = new ByteArray();
        bytes.writeObject(obj);
        bytes.position = 0;
        return bytes.readObject();
}
</pre>
<p>Let&#8217;s first imagine our Example class like this:</p>
<pre class="brush: as3;">
package com.filipesilvestrim
{
        public class Example
        {
                public var name : String;

                public function Example () {}
        }
}
</pre>
<p>Ok, but now if we try get the object with the cast like <strong>trace((deepClone(obj) as Example))</strong>. Man&#8230; shame on you, you&#8217;ll get &#8220;null&#8221;. but why? It occurs because when we are cloning the class we do it with the ByteArray and when you return that&#8217;s &#8220;new&#8221; bytes as an Object, the Flash Player don&#8217;t know that those bytes are affiliate with the class Example. So how to solve it?</p>
<p>Let&#8217;s register in the Flash Player the class Example, to that when it saw the bytes being cast, it understand that those bytes mean that class. To register we need to this:</p>
<pre class="brush: as3;">
registerClassAlias(&quot;com.filipesilvestrim.Example&quot;, Example);
</pre>
<p>And the code working will be like this:</p>
<pre class="brush: as3;">
package com.filipesilvestrim
{
        import flash.net.registerClassAlias;

        import com.filipesilvestrim.Example;

        public class MainClone
        {

                public function MainClone ()
                {
                        var obj : Example = new Example();

                        registerClassAlias(&quot;com.filipesilvestrim.Example&quot;, Example);

                        trace(&quot;Cloned Object with cast = &quot; + (deepClone(obj) as Example)); // must trace &quot;Cloned Object with cast = [object Example]&quot;

                }

                private function deepClone ( obj : * ) : *
                {
                        var bytes : ByteArray = new ByteArray();
                        bytes.writeObject(obj);
                        bytes.position = 0;
                        return bytes.readObject();
                }
        }
}
</pre>
<p>So, lets code and have fun <img src='http://www.filipesilvestrim.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.filipesilvestrim.com/blog/29/01/2009/clone-a-object-with-type-cast/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Flash Player loses focus with button + removeChild</title>
		<link>http://www.filipesilvestrim.com/blog/21/02/2008/flash-player-loose-focus-with-button-removechild/</link>
		<comments>http://www.filipesilvestrim.com/blog/21/02/2008/flash-player-loose-focus-with-button-removechild/#comments</comments>
		<pubDate>Fri, 22 Feb 2008 03:24:04 +0000</pubDate>
		<dc:creator>Filipe Silvestrim</dc:creator>
				<category><![CDATA[ActionScript 3]]></category>

		<guid isPermaLink="false">http://www.filipesilvestrim.com/blog/21/02/2008/flash-player-loose-focus-with-button-removechild/</guid>
		<description><![CDATA[Well, this week, I was doing a little game that to the player start to play needs click in one &#8220;start game&#8221; button and after uses the keyboard to control the character moves. So until this point all OK, but what i didn&#8217;t told you is that when click&#8217;s in the &#8220;start game&#8221;, it disappears [...]]]></description>
			<content:encoded><![CDATA[<p>Well, this week, I was doing a little game that to the player start to play needs click in one &#8220;start game&#8221; button and after uses the keyboard to control the character moves. So until this point all OK, but what i didn&#8217;t told you is that when click&#8217;s in the &#8220;start game&#8221;, it disappears with one removeChild() (because it appears above all the stage).</p>
<p>After this, my character was no more moving&#8230; I fought &#8220;wow could be my InputManager class not working so fine&#8230;&#8221;, but I tried find some bug or something wrong and nothing. After some tries, accidentally I removed the buttonMode = true &#8211; propertie that i was defining to that my &#8220;start game&#8221; Movie Clip behaviors like Button &#8211; and tcharam&#8230; All working&#8230;..</p>
<p>At first we need remind that Keyboard events will just works when Flash Player get focus. And accidentally I found a way of Flash Player loses focus with on removeChild().</p>
<p><strong>So what is happening here?!</strong></p>
<p>First, open the swf file (focus it); after, click at the button (button with focus); later on, the button is removed from the stage (the focus is removed together with the button &#8211; so here are the problem). Now if I click on the stage, or other local in the swf file (Flash Player will get focus again) and it will works&#8230;<br />
<em>Here is a source code as example :</em></p>
<pre class="brush: as3;">
var spBtn = new Sprite();
spBtn.buttonMode = true; spBtn.graphics.beginFill( 0xff0000, .4 );
spBtn.graphics.drawRect( 0, 0, this.stage.stageWidth, this.stage.stageHeight );
spBtn.graphics.endFill();

addChild( spBtn );

addEventListener ( KeyboardEvent.KEY_DOWN, managekeyDown );
spBtn.addEventListener( MouseEvent.MOUSE_DOWN, mouseClick );

function mouseClick ( e : Event ) : void
{
    spBtn.removeEventListener( MouseEvent.MOUSE_DOWN, mouseClick );
    removeChild( spBtn );
}

function managekeyDown ( e : KeyboardEvent ) : void
{
    if ( e.keyCode == Keyboard.LEFT )
    {
        trace ( &quot;JUST TRACE IF FLASH PLAYER HAVE FOCUS ON IT&quot; );
    }
}
</pre>
<p>======= Updated at August 1º (expect update more the blog&#8230;) ======</p>
<p>To fix this issue you must reset the focus to the stage. So the code will change just in this part:</p>
<pre class="brush: as3;">
function mouseClick ( e : Event ) : void
{
    spBtn.removeEventListener( MouseEvent.MOUSE_DOWN, mouseClick );
    removeChild( spBtn );
    //After the remove child we’ll reset the focus to stage
    this.stage.focus = this;
}
</pre>
<p> <img src='http://www.filipesilvestrim.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.filipesilvestrim.com/blog/21/02/2008/flash-player-loose-focus-with-button-removechild/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Papervision3D 2.0 Alpha</title>
		<link>http://www.filipesilvestrim.com/blog/04/12/2007/papervision3d-20-alpha/</link>
		<comments>http://www.filipesilvestrim.com/blog/04/12/2007/papervision3d-20-alpha/#comments</comments>
		<pubDate>Wed, 05 Dec 2007 05:46:12 +0000</pubDate>
		<dc:creator>Filipe Silvestrim</dc:creator>
				<category><![CDATA[3D]]></category>
		<category><![CDATA[ActionScript 3]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://www.filipesilvestrim.com/blog/04/12/2007/papervision3d-20-alpha/</guid>
		<description><![CDATA[&#160;
Foi lançada hoje de madrugada a tão esperada versão 2.o da Biblioteca Papervision 3D.
&#160;
Na nova versão possuímos recursos tais como: ShadeMaterials, Shaders, ASCollada (agora com suporte a animação), Frustrum Culling, Multiple Viewports, Render to Scene e muito mais&#8230;
&#160;
Para quem quiser ter uma idéia do que podemos fazer no a nova versão dê uma olhada no [...]]]></description>
			<content:encoded><![CDATA[<p class="entry">&nbsp;</p>
<p class="snap_preview">Foi lançada hoje de madrugada a tão esperada versão 2.o da Biblioteca Papervision 3D.</p>
<p class="snap_preview">&nbsp;</p>
<p class="snap_preview">Na nova versão possuímos recursos tais como: ShadeMaterials, Shaders, ASCollada (agora com suporte a animação), Frustrum Culling, Multiple Viewports, Render to Scene e muito mais&#8230;</p>
<p class="snap_preview">&nbsp;</p>
<p class="snap_preview">Para quem quiser ter uma idéia do que podemos fazer no a nova versão dê uma olhada no link abaixo que exemplifica aplicação de iluminação de phong e bumpMapping.</p>
<p class="snap_preview">swf:<br />
<a href="http://www.rockonflash.com/papervision3d/downloads/shaderDemos/EarthPhongDemo.swf" target="_blank"> http://www.rockonflash.com<wbr></wbr>/papervision3d/downloads<wbr></wbr>/shaderDemos/EarthPhongDemo.swf</a></p>
<p>FLA:<br />
<a href="http://www.rockonflash.com/papervision3d/downloads/shaderDemos/EarthPhongDemo.fla" target="_blank">http://www.rockonflash.com<wbr></wbr>/papervision3d/downloads<wbr></wbr>/shaderDemos/EarthPhongDemo.fla  </a></p>
<p class="snap_preview">&nbsp;</p>
<p class="snap_preview">Então aproveite agora mesmo para fazer o download da nova versão a partir do SVN no endereço: <tt><strong><em>http</em></strong>://papervision3d.googlecode.com/svn/trunk/</tt></p>
<p class="snap_preview">&nbsp;</p>
<p class="snap_preview">Abraços.</p>
<p class="entry">&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.filipesilvestrim.com/blog/04/12/2007/papervision3d-20-alpha/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Material (artigo e exemplos) do minicurso de ActionScript 3.0 para Games</title>
		<link>http://www.filipesilvestrim.com/blog/16/11/2007/material-artigo-e-exemplos-do-minicurso-de-actionscript-30-para-games/</link>
		<comments>http://www.filipesilvestrim.com/blog/16/11/2007/material-artigo-e-exemplos-do-minicurso-de-actionscript-30-para-games/#comments</comments>
		<pubDate>Fri, 16 Nov 2007 15:02:04 +0000</pubDate>
		<dc:creator>Filipe Silvestrim</dc:creator>
				<category><![CDATA[ActionScript 3]]></category>
		<category><![CDATA[Courses]]></category>
		<category><![CDATA[Games]]></category>

		<guid isPermaLink="false">http://www.filipesilvestrim.com/blog/16/11/2007/material-artigo-e-exemplos-do-minicurso-de-actionscript-30-para-games/</guid>
		<description><![CDATA[Olá pessoal,
fiquei meio parado nas duas últimas semanas por causa do SBGames 2007 e de uns projetos pessoais.
O SbGames 2007 foi simplesmente ótimo e o pré-evento GDS superou as expectativas.
O AUGRS apresentou duas palestras, uma de AS2 e Advergames com Pedro Taranto e Alberto Amaral e a minha de AS3 para Games.
O meu minicurso teve [...]]]></description>
			<content:encoded><![CDATA[<p>Olá pessoal,</p>
<p>fiquei meio parado nas duas últimas semanas por causa do <a href="http://www.inf.unisinos.br/~sbgames/" target="_blank">SBGames 2007</a> e de uns projetos pessoais.</p>
<p>O SbGames 2007 foi simplesmente ótimo e o pré-evento <a href="http://www.gds.inf.br" target="_blank">GDS</a> superou as expectativas.</p>
<p>O AUGRS apresentou duas palestras, uma de AS2 e Advergames com Pedro Taranto e Alberto Amaral e a minha de AS3 para Games.</p>
<p>O meu minicurso teve como título &#8220;Conhecendo o ActionScript 3.0 para o desenvolvimento de jogos utilizando o Adobe Flash CS3&#8243; e foram abordadas questões desde o básico do AS3 referindo-se a DisplayList e ao Sistema de Eventos até a parte de Simulações de Física com a APE e 3D com Papervision 3D.</p>
<p>O artigo pode ser adquirido nesse link <a href="http://www.filipesilvestrim.com/gds_2007/minicursoAS3Games.pdf" target="_blank">http://www.filipesilvestrim.com/gds_2007/minicursoAS3Games.pdf</a>  e os exemplos (classes e .fla) podem ser feitos o download aqui <a href="http://www.filipesilvestrim.com/gds_2007/Fonte.zip" target="_blank">http://www.filipesilvestrim.com/gds_2007/Fonte.zip</a> .</p>
<p>Atenção: Ao fazer o download dos códigos fonte, favor ler o arquivo <em>leia-me.html</em> para que os exemplos rodem corretamente.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.filipesilvestrim.com/blog/16/11/2007/material-artigo-e-exemplos-do-minicurso-de-actionscript-30-para-games/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Palestra &#8211; ActionScript 3.0 para o desenvolvimento de jogos</title>
		<link>http://www.filipesilvestrim.com/blog/26/10/2007/palestra-actionscript-30-para-o-desenvolvimento-de-jogos/</link>
		<comments>http://www.filipesilvestrim.com/blog/26/10/2007/palestra-actionscript-30-para-o-desenvolvimento-de-jogos/#comments</comments>
		<pubDate>Fri, 26 Oct 2007 11:54:21 +0000</pubDate>
		<dc:creator>Filipe Silvestrim</dc:creator>
				<category><![CDATA[ActionScript 3]]></category>
		<category><![CDATA[Courses]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Games]]></category>

		<guid isPermaLink="false">http://www.filipesilvestrim.com/blog/26/10/2007/palestra-actionscript-30-para-o-desenvolvimento-de-jogos/</guid>
		<description><![CDATA[
&#160;
Estarei palestrando um mini curso de ActionScript 3.0 para o desenvolvimento de jogos no pré-evento do SBGames 2007 (Simpósio Brasileiro de Games).
Para assistir a palestra basta se inscrever no SBGames e marcar a opção de que irá assistir ao pré-evento GDS (Game Development School).
&#160;
Detalhes da palestra:

Dia 6 de Novembro
14:00 &#8211; 17:00
Conhecendo o ActionScript 3.0 para [...]]]></description>
			<content:encoded><![CDATA[<p align="left"><img src="http://www.filipesilvestrim.com/blog/images/sbgames2007.jpg" style="padding: 10px" align="left" /></p>
<p align="left">&nbsp;</p>
<p align="left">Estarei palestrando um mini curso de <strong>ActionScript 3.0 para o desenvolvimento de jogos</strong> no pré-evento do SBGames 2007 (Simpósio Brasileiro de Games).</p>
<p align="left">Para assistir a palestra basta se inscrever no SBGames e marcar a opção de que irá assistir ao pré-evento GDS (Game Development School).</p>
<p align="left">&nbsp;</p>
<p align="left">Detalhes da palestra:</p>
<blockquote>
<p align="left"><strong>Dia 6 de Novembro<br />
14:00 &#8211; 17:00</strong></p>
<p><strong>Conhecendo o ActionScript 3.0 para o desenvolvimento de jogos utilizando o Adobe Flash CS3.</strong></p>
<p><strong>Filipe Ghesla Silvestrim</strong></p>
<p>AUGRS &#8211; Adobe User Group do Rio Grande do Sul <a href="http://www.augrs.com" target="_blank">http://www.augrs.com</a></p>
<p><em>Resumo</em>: Introduzir a linguagem de programação ActionScript 3.0 no desenvolvimento de jogos utilizando o software Adobe Flash Professional CS3 como plataforma de desenvolvimento.</p>
<p><em>Público-Alvo</em>: Intermediário</p>
<p><em>Pré-Requisitos</em>: Conhecimento de lógica de programação para jogos.</p></blockquote>
<p align="left">Mais informações sobre o SBGames no site <a href="http://www.inf.unisinos.br/~sbgames" target="_blank">http://www.inf.unisinos.br/~sbgames</a></p>
<p align="left">Mais informações sobre o pré-evento no endereço <a href="http://www.inf.unisinos.br/~sbgames/GDS-port.html" target="_blank">http://www.inf.unisinos.br/~sbgames/GDS-port.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.filipesilvestrim.com/blog/26/10/2007/palestra-actionscript-30-para-o-desenvolvimento-de-jogos/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>TransitionManager Events &#8211; ActionScript 3</title>
		<link>http://www.filipesilvestrim.com/blog/21/10/2007/transitionmanager-events-actionscript-3/</link>
		<comments>http://www.filipesilvestrim.com/blog/21/10/2007/transitionmanager-events-actionscript-3/#comments</comments>
		<pubDate>Mon, 22 Oct 2007 01:19:19 +0000</pubDate>
		<dc:creator>Filipe Silvestrim</dc:creator>
				<category><![CDATA[ActionScript 3]]></category>

		<guid isPermaLink="false">http://www.filipesilvestrim.com/blog/21/10/2007/transitionmanager-events-actionscript-3/</guid>
		<description><![CDATA[Bom, hoje um post bem rápido pois a correria anda grande e não queria deixar o blog na inatividade&#8230;
Hoje precisei utilizar um evento da classe TransitionManager no AS3 e encontrei o mesmo problema que havia tido no passado como o AS2, temos dois eventos não documentados para a classe TransitionManager. Os eventos são para quando [...]]]></description>
			<content:encoded><![CDATA[<p>Bom, hoje um post bem rápido pois a correria anda grande e não queria deixar o blog na inatividade&#8230;</p>
<p>Hoje precisei utilizar um evento da classe TransitionManager no AS3 e encontrei o mesmo problema que havia tido no passado como o AS2, temos dois eventos não documentados para a classe TransitionManager. Os eventos são para quando a transição IN acaba e quando a transição OUT acaba.</p>
<p>OK, mas se não está documentado como saber disso? Bom, a questão é futricar, vá até a pasta das classes do ActionScript 3 e procurem as subpastas fl e dentro dela a transitions(ex.: C:\Arquivos de programas\Adobe\Adobe Flash CS3\en\Configuration\ActionScript 3.0\Classes\fl\transitions). Aí dentro iremos achar o arquivo da classe (TransitionManager.as) e daí é só abrir ele e futricar <img src='http://www.filipesilvestrim.com/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Exemplo de aplicação:</p>
<blockquote>
<p align="left"> import fl.transitions.*;<br />
import fl.transitions.easing.*;</p>
<p align="left">&nbsp;</p>
<p align="left">var tmTransicao:TransitionManager = new TransitionManager(myMovieClip);</p>
<p align="left">&nbsp;</p>
<p align="left">tmTransicao.startTransition({type:Zoom, direction:Transition.IN, duration:1, easing:Bounce.easeOut});<br />
tmTransicao.addEventListener(&#8221;allTransitionsInDone&#8221;, inDoneHandler);<br />
tmTransicao.addEventListener(&#8221;allTransitionsOutDone&#8221;, outDoneHandler);</p>
<p align="left">&nbsp;</p>
<p align="left">function inDoneHandler(event:Event):void<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trace(&#8221;Acabou a transição de ENTRADA&#8221;);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//começou a transição de saída<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tmTransicao.startTransition({type:Zoom, direction:Transition.OUT, duration:1, easing:Bounce.easeOut});<br />
}</p>
<p align="left">&nbsp;</p>
<p align="left">function outDoneHandler(event:Event):void<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trace(&#8221;Acabou a transição de SAÍDA&#8221;);<br />
}</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.filipesilvestrim.com/blog/21/10/2007/transitionmanager-events-actionscript-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash Lite 3.0, Adobe Developer Connection, Flash Player 10 (“Astro”) &#8211; agora com eixo Z (3D), AIR Beta 2&#8230;</title>
		<link>http://www.filipesilvestrim.com/blog/01/10/2007/flash-lite-30-adobe-developer-connection-flash-player-10-%e2%80%9castro%e2%80%9d-agora-com-eixo-z-3d-air-beta-2/</link>
		<comments>http://www.filipesilvestrim.com/blog/01/10/2007/flash-lite-30-adobe-developer-connection-flash-player-10-%e2%80%9castro%e2%80%9d-agora-com-eixo-z-3d-air-beta-2/#comments</comments>
		<pubDate>Tue, 02 Oct 2007 03:29:22 +0000</pubDate>
		<dc:creator>Filipe Silvestrim</dc:creator>
				<category><![CDATA[AIF]]></category>
		<category><![CDATA[ActionScript 3]]></category>
		<category><![CDATA[Adobe]]></category>

		<guid isPermaLink="false">http://www.filipesilvestrim.com/blog/01/10/2007/flash-lite-30-adobe-developer-connection-flash-player-10-%e2%80%9castro%e2%80%9d-agora-com-eixo-z-3d-air-beta-2/</guid>
		<description><![CDATA[Segundo dia do MAX e novidades surgem sem parar&#8230;
Flex3 Beta2, A.I.R. Beta2, AMP, Share Beta e update do FP9
Primeiro temos o as novas versões Beta2 do Flex3 e do A.I.R., temos também o AMP (Adobe Media Player), temos o Share Beta e temos ainda novas versões do Flash Player 9. Essas novidades o meu amigo [...]]]></description>
			<content:encoded><![CDATA[<p>Segundo dia do <a href="http://adobemax2007.com" target="_blank">MAX</a> e novidades surgem sem parar&#8230;</p>
<p><strong>Flex3 Beta2, A.I.R. Beta2, AMP, Share Beta e update do FP9</strong></p>
<p>Primeiro temos o as novas versões Beta2 do Flex3 e do A.I.R., temos também o AMP (Adobe Media Player), temos o Share Beta e temos ainda novas versões do Flash Player 9. Essas novidades o meu amigo <a href="http://blog.egenial.com.br" target="_blank">Carlos Eduardo</a>  já comentou nesse post <a href="http://blog.egenial.com.br/?p=92">aqui</a> e para mais informações das novidades do mesmo parágrafo, pode ir no <a href="http://labs.adobe.com/" target="_blank">Labs</a> da Adobe.</p>
<p>Mas as próximas novidades é que me deixaram bobo (algumas não, pois sendo um Manager e sendo beta-tester de algumas tecnologias como as atualizações do Flash Player 9; mas fico me mordendo não podendo falar antes que Adobe anuncie publicamente.</p>
<p><strong>Adobe Developer Connection </strong></p>
<p>Pois bem, vejamos, primeiramente temos um novo portal de suporte ao desenvolvedor Adobe em <a href="http://www.adobe.com/devnet/" target="_blank">http://www.adobe.com/devnet/</a> e um mais específico para a tecnologia A.I.R. em <a href="http://www.adobe.com/devnet/air/" target="_blank">http://www.adobe.com/devnet/air/</a> que de quebra já começou muito interessante com um artigo passo-a-passo de como construir um jogo baseado em Flash no AIR, isso nesse link aqui <a href="http://www.adobe.com/devnet/air/flash/articles/insult_dueler.html" target="_blank">http://www.adobe.com/devnet/air/flash/articles/insult_dueler.html</a>.</p>
<p><strong> Flash Lite CS3</strong></p>
<p>Destacando ainda, temos a atualização do Flash Lite CS3  para Flash CS3 Professional e Device Central CS3 estão para download nos links <a href="http://www.adobe.com/go/fl_fl3_update" target="_blank">http://www.adobe.com/go/fl_fl3_update</a> e <a href="http://www.adobe.com/go/dc_fl3_update" target="_blank">http://www.adobe.com/go/dc_fl3_update</a>. Criação, teste e publicação de conteúdos mobile para tal atualização do Flash Player Lite agora suportam Flash Vídeo e a renderização da maioria dos conteúdos publicados como Flash Player 8 dentro de um dispositivo móvel ou em um browser.</p>
<p><strong>Flash Player 10, codinome Astro e  AIF Toolkit</strong></p>
<p>Nesta manhã, num keynote fechado do MAX, o pessoal da Adobe anunciou que o time da linguagem de processamento gráfico AIF, que possui o codinome &#8220;Hydra&#8221;, fará parte do desenvolvimento do Flash Player 10.</p>
<p>O pessoal da AIF já disponibilizou um Preview no Labs nesse <a href="http://www.adobe.com/go/hydra" target="_blank">link</a>.</p>
<p>OK, mas o que isso indica?</p>
<p>Indica que o pessoal do Flash agora poderá usufruir de processamento de imagem feitos em GPU (placas de vídeo), fazendo com que possamos ter otimizações de audio e vídeo em tempo real, mais poder de processamento de imagens em nossos scripts (essa tecnologias já é utilizada no AfterEffects CS3) e arquivos mais leve.</p>
<p>Alguns dos benefícios dessa linguagem incluem:</p>
<ul>
<li>Sintaxe familiar, baseada em GLSL, a qual baseia-se em C;</li>
<li> Permite que o mesmo filtro rode tanto em GPU, quanto em CPU;</li>
<li>  Abstrai a complexidade de se programar direto em Hardware de forma Heterogênea;</li>
<li>Podemos criar os nossos próprios BitmapFilters;</li>
<li>Qualidade Adobe de processamento de Imagens.</li>
</ul>
<p>Exemplo de script Hydra <a href="http://blog.je2050.de/2007/10/01/hydra/" target="_blank">aqui</a>.</p>
<p>E agora chegamos enfim no <strong>Astro </strong>principal o Flash Player 10 \o/ (vídeo de lançamento <a href="http://www.youtube.com/watch?v=ympeCv8lLmw&amp;eurl=http%3A%2F%2Faralbalkan%2Ecom%2F1048" target="_blank">clique aqui</a>), um avançado e poderoso cliente runtime o qual tem como novidades em sua próxima versão: avançada renderização e processamento  em <strong>layout de textos</strong> (linguagens bidirecional, scripts complexos; multi colunas; quebras de linhas; tabelas), <strong>efeitos em 3D</strong> (até que enfim o eixo Z), e <strong>filtros, blend modes e efeitos customizáveis</strong> (criados a partir da linguagem Hydra). <a title="Advanced_Text_Layout" name="Advanced_Text_Layout"></a></p>
<p><a title="3D_Effects" name="3D_Effects"></a><a title="Custom_Filters.2C_Blend_Modes_and_Effects" name="Custom_Filters.2C_Blend_Modes_and_Effects"></a><a href="http://blog.franto.com/go.php?http://blogs.adobe.com/kevin.goldsmith/2007/10/its_alive_hydra.html" title="(23 hits)">Hydra Alive +  AIF Toolkit no Adobe labs</a><br />
Você pode brincar com a Hydra no link <a href="http://blog.franto.com/go.php?http://labs.adobe.com/wiki/index.php/AIF_Toolkit" title="(34 hits)">AIF Toolkit</a>. Faça o download no <a href="http://blog.franto.com/go.php?http://labs.adobe.com/wiki/index.php/AIF_Toolkit" title="(34 hits)">Adobe labs</a> .</p>
<p>Espero vir com muitas novidades a mais por aí pessoal.</p>
<p>E para quem quer sempre estar ligado nas novidades, acessem diariamente a Wiki do Labs da Adobe em <a href="http://labs.adobe.com/wiki/" target="_blank">http://labs.adobe.com/wiki/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.filipesilvestrim.com/blog/01/10/2007/flash-lite-30-adobe-developer-connection-flash-player-10-%e2%80%9castro%e2%80%9d-agora-com-eixo-z-3d-air-beta-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Video Tutorial de 3D no Flash CS3 com PaperVision3D</title>
		<link>http://www.filipesilvestrim.com/blog/19/09/2007/video-tutorial-de-3d-no-flash-cs3-com-papervision/</link>
		<comments>http://www.filipesilvestrim.com/blog/19/09/2007/video-tutorial-de-3d-no-flash-cs3-com-papervision/#comments</comments>
		<pubDate>Wed, 19 Sep 2007 19:07:58 +0000</pubDate>
		<dc:creator>Filipe Silvestrim</dc:creator>
				<category><![CDATA[ActionScript 3]]></category>

		<guid isPermaLink="false">http://www.filipesilvestrim.com/blog/19/09/2007/video-tutorial-de-3d-no-flash-cs3-com-papervision/</guid>
		<description><![CDATA[Bom, para quem não conhece, ou sempre quis saber como funciona a parte de 3D no Flash, apresento-lhes a Biblioteca (conjuto de classes) Papervision 3D, essa biblioteca simula o eixo Z, coordenada que não existe no Flash. Fora isso, ela ainda possibilita a importação de objetos gerados no 3dMax (eles tem que ser exportados com [...]]]></description>
			<content:encoded><![CDATA[<p>Bom, para quem não conhece, ou sempre quis saber como funciona a parte de 3D no Flash, apresento-lhes a Biblioteca (conjuto de classes) <a target="_blank" href="http://www.papervision3d.org/">Papervision 3D</a>, essa biblioteca simula o eixo Z, coordenada que não existe no Flash. Fora isso, ela ainda possibilita a importação de objetos gerados no 3dMax (eles tem que ser exportados com um plugin que está no site da biblioteca), manipulação de texturas e muito mais. Para quem quiser saber mais informações sobre o projeto, indico o blog da Papervision3D ness link <a target="_blank" href="http://blog.papervision3d.org/">http://blog.papervision3d.org/</a>.</p>
<p>Só para deixar claro essa biblioteca foi feita em ActionScript 3.0.</p>
<p>Agora, mas como utilizar essa biblioteca no Flash CS3? Bom&#8230; o pessoal do <a target="_blank" href="http://www.gotoandlearn.com/">GotoAndLearn</a> está voltando a atualizar o site deles (bem como eu&#8230;) e eles já voltaram arrebentando com um vídeo-tutorial sobre essa excelente biblioteca!</p>
<p>Aproveitem pessoal!!!!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.filipesilvestrim.com/blog/19/09/2007/video-tutorial-de-3d-no-flash-cs3-com-papervision/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CoreLib para Flash CS3</title>
		<link>http://www.filipesilvestrim.com/blog/25/05/2007/corelib-para-flash-cs3/</link>
		<comments>http://www.filipesilvestrim.com/blog/25/05/2007/corelib-para-flash-cs3/#comments</comments>
		<pubDate>Sat, 26 May 2007 04:20:56 +0000</pubDate>
		<dc:creator>Filipe Silvestrim</dc:creator>
				<category><![CDATA[ActionScript 3]]></category>

		<guid isPermaLink="false">http://www.filipesilvestrim.com/blog/25/05/2007/corelib-para-flash-cs3/</guid>
		<description><![CDATA[A um bom tempo isso já está rolando, mas só o pessoal do Flex tem conhecimento dessa Biblioteca.
Enfim, o Grupo de Desenvolvedores da Adobe está desenvolvendo uma Biblioteca, free e OpenSource, a qual ajuda desenvolvedores a começar as suas aplicações em Flex. Mas espera aí? Só Flex? Claro que não&#8230;
Essa Biblioteca é escrita em AS3, [...]]]></description>
			<content:encoded><![CDATA[<p>A um bom tempo isso já está rolando, mas só o pessoal do Flex tem conhecimento dessa Biblioteca.</p>
<p>Enfim, o Grupo de Desenvolvedores da Adobe está desenvolvendo uma Biblioteca, free e OpenSource, a qual ajuda desenvolvedores a começar as suas aplicações em Flex. Mas espera aí? Só Flex? Claro que não&#8230;</p>
<p>Essa Biblioteca é escrita em AS3, então, nada melhor do que utilizar o Flash CS3 para começar a programar AS3 e ainda de gorjeta, aprender como funciona e utilizar essa excelente Biblioteca.</p>
<p>Nela possuímos numerosas classes e utilidades para serem trabalhadas com AS3. Incluindo, temos classes para Criptografia &#8211; MD5 Hash   e SHA1 Hash, Manipulação de Imagens &#8211; Encodificações JPG e PNG, Serealização &#8211; JSON, Universal Resource Identifiers, Serviço Remoto, Classes de Utilidades e muitas outras.</p>
<p>Para começar, seria de grande ajuda o diagrama de classes do AS3, para tornar mais inteligível a compreensão da Biblioteca. Para isso, acessem esse link <a target="_blank" title="AS3 - Diagrama de Classes" href="http://www.flex.org/download/AS3API_01.pdf">http://www.flex.org/download/AS3API_01.pdf</a>.</p>
<p>O site do projeto é <a target="_blank" title="AS3 CoreLib" href="http://code.google.com/p/as3corelib/">http://code.google.com/p/as3corelib/</a>.</p>
<p>Para baixar a versão mais recente da biblioteca acesse <a target="_blank" title="CoreLib Download" href="http://code.google.com/p/as3corelib/downloads/list">http://code.google.com/p/as3corelib/downloads/list</a>.</p>
<p>E para um pequeno Help, deixo um site de referências que o pessoal do projeto fez (ele está desatualizado, só consta a primeira versão da Biblioteca, mas ainda assim é válido). O link é <a target="_blank" title="CoreLib Reference" href="http://weblogs.macromedia.com/as_libraries/docs/corelib/index.html?all-index-A.html&#038;index-list.html">http://weblogs.macromedia.com/<br />
as_libraries/docs/corelib/index.html?all-index-A.html&#038;index-list.html</a>. Mas para quem baixou a Biblioteca, basta consultar a pasta <em>docs.</em></p>
<p>Como a utilização de um bom e velho pacote de classes, basta referenciar nas propriedades de linkage dos pacotes das classes do Actionscript 3 (Edit > Preferences > ActionScript > ActionScript 3 Settings&#8230; > +) e utilizar todas as classes do pacote através de um bom e velho <em>import</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.filipesilvestrim.com/blog/25/05/2007/corelib-para-flash-cs3/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
