<?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>Rogério Lino &#187; ActionScript</title>
	<atom:link href="http://rogeriolino.com/categorias/actionscript/feed/" rel="self" type="application/rss+xml" />
	<link>http://rogeriolino.com</link>
	<description>Desenvolvimento Web, tecnologia, jogos e etcetera</description>
	<lastBuildDate>Wed, 16 May 2012 19:51:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Flash: SWFAddress + ReWrite = SEO</title>
		<link>http://rogeriolino.com/2010/04/01/flash-swfaddress-rewrite-seo/</link>
		<comments>http://rogeriolino.com/2010/04/01/flash-swfaddress-rewrite-seo/#comments</comments>
		<pubDate>Thu, 01 Apr 2010 14:44:53 +0000</pubDate>
		<dc:creator>Rogério Alencar Lino Filho</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[ancora]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[asual]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[opensouce]]></category>
		<category><![CDATA[rewrite]]></category>
		<category><![CDATA[sample]]></category>
		<category><![CDATA[swf]]></category>
		<category><![CDATA[swfaddress]]></category>
		<category><![CDATA[url]]></category>

		<guid isPermaLink="false">http://rogeriolino.com/?p=262</guid>
		<description><![CDATA[<p><a href="http://www.asual.com/swfaddress"></a></p> <p><a href="http://www.asual.com/swfaddress">SWFAddress</a> é uma pequena mas poderosa biblioteca que provê <a href="http://en.wikipedia.org/wiki/Deep_linking">deep linking</a> para Flash e Ajax. É uma ferramenta de desenvolvimento, permitindo a criação de URLs unicas e virtuais que podem apontar para uma seção do site ou aplicação. SWFAddress habilita algumas de importantes capacidades que faltam hoje em dia nas tecnologias [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p><a href="http://www.asual.com/swfaddress"><img class="aligncenter size-full wp-image-263" title="Asual SWFAddress" src="http://rogeriolino.com/wp-content/uploads/2010/03/asual-swfaddress.jpg" alt="" width="451" height="39" /></a></p>
<blockquote><p><a href="http://www.asual.com/swfaddress">SWFAddress</a> é uma pequena mas poderosa biblioteca que provê <a href="http://en.wikipedia.org/wiki/Deep_linking">deep linking</a> para Flash e Ajax. É uma ferramenta de desenvolvimento, permitindo a criação de URLs unicas e virtuais que podem apontar para uma seção do site ou aplicação. SWFAddress habilita algumas de importantes capacidades que faltam hoje em dia nas tecnologias <a href="http://pt.wikipedia.org/wiki/RIA">RIA</a>, incluindo:</p>
<ul>
<li>Adicionar ao Favoritos de um navegador ou site social</li>
<li>Enviar links via email ou mensageiros instantâneos</li>
<li>Procurar por um conteúdo específico através dos sites de buscas</li>
<li>Utilizar o histórico do navegador e o botão de recarregar</li>
</ul>
</blockquote>
<p>O <a href="http://www.adobe.com/br/products/flash/">Flash</a> está para o <a href="http://en.wikipedia.org/wiki/Search_engine_optimization">SEO</a> assim como o <a href="http://cinemaeafins.com/files/2008/11/batmancoringa.jpg">Coringa está para o Batman</a>. Mas nem tudo está perdido quando se trata de otimizar a indexação do site em SWF nos mecanismos de busca. Com SWFAddress você pode interagir com a página via javascript alterando a URL e o próprio conteúdo do filme, possibilidade do o uso dos botões voltar e avançar do browser, adicionar ao Favoritos e alterar a animação do seu filme de acordo com a URL que está sendo requisitada.</p>
<p>Caso sua página seja acessada através da URL <strong>http://siteemflash.com/#contato</strong>, você poderá pular na timeline indo direto para o frame do contato. Para evitar o reload da página toda interação é feita através de âncoras html (#). E as alterações da URL utilizando âncoras são desprezadas pelos buscadores, uma vez que a âncora só serve para movimentar o foco na mesma página, logo o seu conteúdo permanece inalterado.</p>
<p>É aí que entra o <a href="http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html">módulo ReWrite do Apache</a>, com o mod_rewrite podemos escrever condições para tratar as requisições, redirecionando-as ou não. Então voltando ao exemplo anterior, teríamos uma condição que quando for requisitada a página <strong>http://siteemflash.com/contato</strong> (ou qualquer outra URL) redireciona para a página inicial (index) adicionando a âncora para contato (#contato) e imprime na página o conteúdo referente à mesma. Esse conteúdo impresso não será visível, apenas para indexação. O <a href="http://pt.wikipedia.org/wiki/Sitemap">sitemap</a> ou a estrutura básica do site, também deve estar contido no bloco de código html invisível, juntamente com todas outras informações relevantes.</p>
<p>Resumindo, você acaba tendo um trabalho dobrado ao desenvolver o site, mas evita transtornos de indexação. É muito útil para quem não abre mão do site feito com o uso da ferramenta da Adobe.</p>
<p>No próprio site da Asual tem um <a href="http://www.asual.com/swfaddress/samples/seo/">exemplo de uso do SWFAddress para SEO</a> (o exemplo pode ser baixado pelo site). Abaixo segue alguns sites que fizeram uso da biblioteca, no qual o primeiro eu participei do desenvolvimento:</p>
<ul>
<li><a href="http://www.oticasparis.com.br/">Óticas Paris</a></li>
<li><a href="http://www.salinas-rio.com.br/inverno2010/">Salinas Rio -inverno2010</a></li>
<li><a href="http://www.umbro.com/">Umbro</a></li>
<li><a href="http://www.mis-architecture.co.uk/">Mis Architecture</a></li>
<li><a href="http://www.kraftfoods.com/foodandfamily">Kraftfoods &#8211; Food and Family</a></li>
<li><a href="http://www.bartleboglehegarty.com/">BBH</a></li>
</ul>
<div class="shr-publisher-262"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2010%2F04%2F01%2Fflash-swfaddress-rewrite-seo%2F' data-shr_title='Flash%3A+SWFAddress+%2B+ReWrite+%3D+SEO'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2010%2F04%2F01%2Fflash-swfaddress-rewrite-seo%2F' data-shr_title='Flash%3A+SWFAddress+%2B+ReWrite+%3D+SEO'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2010%2F04%2F01%2Fflash-swfaddress-rewrite-seo%2F' data-shr_title='Flash%3A+SWFAddress+%2B+ReWrite+%3D+SEO'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://rogeriolino.com/2010/04/01/flash-swfaddress-rewrite-seo/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Flash: Game Tutorials</title>
		<link>http://rogeriolino.com/2007/08/23/flash-game-tutorials/</link>
		<comments>http://rogeriolino.com/2007/08/23/flash-game-tutorials/#comments</comments>
		<pubDate>Thu, 23 Aug 2007 21:04:38 +0000</pubDate>
		<dc:creator>Rogério Alencar Lino Filho</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Jogos]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[Links]]></category>
		<category><![CDATA[sites]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://rogeriolino.wordpress.com/2007/08/23/flash-game-tutorials/</guid>
		<description><![CDATA[<p>Uma coisa que facina a mim e acredito que a muitos outros usuários do Flash é a posibilidade de desenvolver jogos bastante interativos com uma certa facilidade.</p> <p>Então como conhecimento em excesso nunca é o bastante, segue alguns links de Tutoriais sobre criação de jogos (variados) em Flash, e links de experimentos interessantes.</p> <p>OutsideOfSociety (Tutoriais [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Uma coisa que facina a mim e acredito que a muitos outros usuários do Flash é a posibilidade de desenvolver jogos bastante interativos com uma certa facilidade.</p>
<p>Então como conhecimento em excesso nunca  é o bastante, segue alguns links de Tutoriais sobre criação de jogos (variados) em Flash, e links de experimentos interessantes.</p>
<p>OutsideOfSociety (Tutoriais &#8211; Exemplos)<br />
<a href="http://oos.moxiecode.com/">http://oos.moxiecode.com/</a></p>
<p>Tonypa (Tutoral &#8211; Tile Based Games)<br />
<a href="http://www.tonypa.pri.ee/tbw/start.html">http://www.tonypa.pri.ee/tbw/start.html</a></p>
<p>Strille (Tutoriais)<br />
<a href="http://www.strille.net/tutorials/part1_scrolling.php">http://www.strille.net/tutorials/part1_scrolling.php</a></p>
<p>Andre Michelle (Exemplos)<br />
<a href="http://lab.andre-michelle.com/">http://lab.andre-michelle.com/</a></p>
<p>GotoAndPlay (Tutoriais)<br />
<a href="http://www.gotoandplay.it/">http://www.gotoandplay.it/</a></p>
<p>GotoAndPlay (Tutorial &#8211; Zelda-like Game)<br />
<a href="http://www.gotoandplay.it/_articles/2003/10/zelda.php">http://www.gotoandplay.it/_articles/2003/10/zelda.php</a></p>
<p>Tutorialized (Tutoriais)<br />
<a href="http://www.tutorialized.com/tutorials/Flash/Games/1">http://www.tutorialized.com/tutorials/Flash/Games/1</a></p>
<p>MXStudio (Tutorial Megaman &#8211; Parte 1 e 2)<br />
<a href="http://www.mxstudio.com.br/views.tutorial.php?act=view&amp;cid=3&amp;aid=1128">http://www.mxstudio.com.br/views.tutorial.php?act=view&amp;cid=3&amp;aid=1128</a><br />
<a href="http://www.mxstudio.com.br/views.tutorial.php?act=view&amp;cid=3&amp;aid=1132">http://www.mxstudio.com.br/views.tutorial.php?act=view&amp;cid=3&amp;aid=1132</a></p>
<p>GameSheep (Tutorial &#8211; Flash Racing Game)<br />
<a href="http://www.gamesheep.com/free/flash-tutorials/1-flash-racing-game-1/flash-tutorial-1-1.php">http://www.gamesheep.com/free/flash-tutorials/1-flash-racing-game-1/flash-tutorial-1-1.php</a></p>
<p>Emanuele Feronato (Tutorial)<br />
<a href="http://www.emanueleferonato.com/2006/10/29/flash-game-creation-tutorial-part-1/">http://www.emanueleferonato.com/2006/10/29/flash-game-creation-tutorial-part-1/</a></p>
<p><a href="http://www.emanueleferonato.com/2006/10/29/flash-game-creation-tutorial-part-1/"></a>Actionscript.org (Tutorial &#8211; Building Games in Flash)<br />
<a href="http://www.actionscript.org/resources/articles/52/1/Building-games-in-flash/Page1.html">http://www.actionscript.org/resources/articles/52/1/Building-games-in-flash/Page1.html</a></p>
<p>Flash Dreamer (Tutorial &#8211; Into to OOP Game Design)<br />
<a href="http://www.freshvision.com.au/blog/index.php/2007/03/27/tutorial-intro-to-oop-game-design/">http://www.freshvision.com.au/blog/index.php/2007/03/27/tutorial-intro-to-oop-game-design/</a></p>
<p>Flashkit (Tutorial &#8211; Scoreboard)<br />
<a href="http://www.flashkit.com/tutorials/Games/How_to_c-Nick_Kuh-771/index.php">http://www.flashkit.com/tutorials/Games/How_to_c-Nick_Kuh-771/index.php</a></p>
<p><a href="http://www.flashkit.com/tutorials/Games/How_to_c-Nick_Kuh-771/index.php"></a>FlashPerfection (Tutorial &#8211; Pong)<br />
<a href="http://www.flashperfection.com/tutorials/How-to-Make-the-Game-of-Pong-65527.html">http://www.flashperfection.com/tutorials/How-to-Make-the-Game-of-Pong-65527.html</a></p>
<p>Matheus Prestes (Tutorial &#8211; Tiles Map &#8211;  português)<br />
<a href="http://www.freewebs.com/matheusprestes/MapTiles/html/TilesMap.html">http://www.freewebs.com/matheusprestes/MapTiles/html/TilesMap.html </a></p>
<div class="shr-publisher-90"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2007%2F08%2F23%2Fflash-game-tutorials%2F' data-shr_title='Flash%3A+Game+Tutorials'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2007%2F08%2F23%2Fflash-game-tutorials%2F' data-shr_title='Flash%3A+Game+Tutorials'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2007%2F08%2F23%2Fflash-game-tutorials%2F' data-shr_title='Flash%3A+Game+Tutorials'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://rogeriolino.com/2007/08/23/flash-game-tutorials/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Wiki FlashMasters</title>
		<link>http://rogeriolino.com/2007/04/09/wiki-flashmasters/</link>
		<comments>http://rogeriolino.com/2007/04/09/wiki-flashmasters/#comments</comments>
		<pubDate>Mon, 09 Apr 2007 17:43:36 +0000</pubDate>
		<dc:creator>Rogério Alencar Lino Filho</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[brasil]]></category>
		<category><![CDATA[flashmasters]]></category>
		<category><![CDATA[help]]></category>
		<category><![CDATA[livedocs]]></category>
		<category><![CDATA[português]]></category>
		<category><![CDATA[wiki]]></category>

		<guid isPermaLink="false">http://rogeriolino.wordpress.com/2007/04/09/wiki-flashmasters/</guid>
		<description><![CDATA[<p>Já tem algum tempo que está no ar a <a href="http://wiki.flashmasters.net/" title="Wiki Flashmasters" target="_blank">Wikipedia FlashMasters</a> mas estava esperando juntar mais um pouco de conteúdo antes de divulgá-la aqui.</p> <p>Lá você poderá tirar sua dúvida sobre algum comando ActionScript por exemplo, ou até mesmo deixar sua contribuíção. Assim como eu em <a href="http://wiki.flashmasters.net/index.php?title=Operadores" title="Operadores - Wiki [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Já tem algum tempo que está no ar a <a href="http://wiki.flashmasters.net/" title="Wiki Flashmasters" target="_blank">Wikipedia FlashMasters</a> mas estava esperando juntar mais um pouco de conteúdo antes de divulgá-la aqui.</p>
<p>Lá você poderá tirar sua dúvida sobre algum comando ActionScript por exemplo, ou até mesmo deixar sua contribuíção. Assim como eu em <a href="http://wiki.flashmasters.net/index.php?title=Operadores" title="Operadores - Wiki FlashMasters" target="_blank">Operadores</a>, que também postei <a href="http://rogeriolino.wordpress.com/2007/03/24/actionscript-operadores/" title="Operadores" target="_blank">aqui no blog</a>.</p>
<p>A intenção por trás da criação do Wiki está em ter o Help (ou um) do Flash traduzido para o português. Como o <a href="http://livedocs.adobe.com/flash/8/" title="LiveDocs - Flash 8" target="_blank">LiveDocs</a> da Adobe.</p>
<p>Tirando muitas dúvida dos usuários Flash do Brasil. Que sempre reclamam de ter pouco conteúdo a respeito escrito em nosso idioma.</p>
<p>Sem esquecer também do <a href="www.flashmasters.net/forum" title="Forum FlashMasters" target="_blank">Forum</a>, bem rico em conteúdo. E contanto com os melhores Flash Users do Brasil para sanar sua(s) dúvida(s).</p>
<div class="shr-publisher-85"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2007%2F04%2F09%2Fwiki-flashmasters%2F' data-shr_title='Wiki+FlashMasters'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2007%2F04%2F09%2Fwiki-flashmasters%2F' data-shr_title='Wiki+FlashMasters'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2007%2F04%2F09%2Fwiki-flashmasters%2F' data-shr_title='Wiki+FlashMasters'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://rogeriolino.com/2007/04/09/wiki-flashmasters/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ActionScript: Operadores</title>
		<link>http://rogeriolino.com/2007/03/24/actionscript-operadores/</link>
		<comments>http://rogeriolino.com/2007/03/24/actionscript-operadores/#comments</comments>
		<pubDate>Sat, 24 Mar 2007 21:40:27 +0000</pubDate>
		<dc:creator>Rogério Alencar Lino Filho</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[ajuda]]></category>
		<category><![CDATA[exemplo]]></category>
		<category><![CDATA[help]]></category>
		<category><![CDATA[livedocs]]></category>
		<category><![CDATA[operadores]]></category>

		<guid isPermaLink="false">http://rogeriolino.wordpress.com/2007/03/24/actionscript-operadores/</guid>
		<description><![CDATA[<p>Operadores são caracteres que servem para especificar como combinar, comparar ou modificar os valores de um expressão.<br /> Operadores Mais Utilizados:</p> <p>+ (adição)</p> <p>Adiciona um número, variável numérica, à expressão ou concatena (une) Strings.<br /> Ex.:</p> var n:Number = A + 10; var s:String = "Foo" + "bar"; <p>+= (atribuição)</p> <p>Atribui à expressão1 o valor [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p><!-- start content -->Operadores são caracteres que servem para especificar como combinar, comparar ou modificar os valores de um expressão.<br />
<strong>Operadores Mais Utilizados:</strong></p>
<p><strong>+</strong> (adição)</p>
<p>Adiciona um número, variável numérica, à expressão ou concatena (une) Strings.<br />
<strong>Ex.:</strong></p>
<pre name="code" class="js">
var n:Number = A + 10;
var s:String = "Foo" + "bar";
</pre>
<p><strong>+=</strong> (atribuição)</p>
<p>Atribui à expressão1 o valor da expressão1 mais o valor da expressão2.<br />
<strong>Ex.:</strong></p>
<pre name="code" class="js">
var s:String = "Foo";
s += " bar";
trace(s) // "Foo bar"

var n:Number = 10;
n += 2;
trace(n) // 12
</pre>
<p><strong>[]</strong> (acesso à array)</p>
<p>Inicialize uma nova array (vetor ou matriz) com os elementos especificados, ou acessa os elementos através de um índice (inteiro).<br />
<strong>Ex.:</strong></p>
<pre name="code" class="js">
// inicializando um vetor com 3 posições
var frutas:Array = ["banana", "manga", "uva"];

// minhaFruta irá receber "manga"
var minhaFruta:String = frutas[1];

// alterou o valor da posição 0 do vetor de "banana" para "abacaxi"
frutas[0] = "abacaxi";

// inicializando uma matriz 3 por 3
var matriz:Array = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]; 

// n recebe o valor da posição 2,2 da matriz, n = 5
var n:Number = matriz[2, 2];
</pre>
<p><strong>=</strong> (atribui/recebe)</p>
<p>Atribui o valor da expressão2 (direita) à expressão1 (esquerda).<br />
<strong>Ex.:</strong></p>
<pre name="code" class="js">
var str:String = "Foobar";
var n:Number = 15;
</pre>
<p><strong>&#8211;</strong> (decremento)</p>
<p>Decrementa em 1 a variável. Caso venha antes da expressão (esquerda) terá maior relevância, a variável será decrementada primeiro, caso venha depois da expressão (direita) só será feita depois.<br />
<strong>Ex.:</strong></p>
<pre name="code" class="js">
var n1:Number = 10;
trace(--n1); // 9

var n2:Number = 10;
trace(n2--); // 10
</pre>
<p><strong>/</strong> (divisão)</p>
<p>Divide a expressão1 pela expressão2.<br />
<strong>Ex.:</strong></p>
<pre name="code" class="js">
var a:Number = 12;
var b:Number = 3;
trace(a / b); // saída: 4
</pre>
<p><strong>==</strong> (igualdade)</p>
<p>Testa a igualdade de duas expressões.<br />
<strong>Ex.:</strong></p>
<pre name="code" class="js">
var a:Number = 5;
var b:Number = 10;
var c:Number = 5;

trace(a == b); // false
trace(a == c); // true
</pre>
<p><strong>&gt;</strong> (maior que)</p>
<p>Compara duas expressções e determina se a expressão1 é maior que a expressão2, se for retorna true.<br />
<strong>Ex.:</strong></p>
<pre name="code" class="js">
var a:Number = 5;
var b:Number = 10;

trace(a &gt; b); // false
trace(b &gt; a); // true
</pre>
<p><strong>&gt;=</strong> (maior ou igual que)</p>
<p>Compara duas expressões e determina se a expressão1 é maior ou igual que a expressão2, se for retorna true.<br />
<strong>Ex.:</strong></p>
<pre name="code" class="js">
var a:Number = 5;
var b:Number = 5;
var c:Number = 7;

trace(a &gt;= b); // true
trace(c &gt;= b); // true
</pre>
<p><strong>++</strong> (incremento)</p>
<p>Incrementa em 1 a variável. Caso venha antes da expressão (esquerda) terá maior relevância, a variável será incrementada primeiro, caso venha depois da expressão (direita) só será feita depois.</p>
<p><strong>Ex.:</strong></p>
<pre name="code" class="js">
var n1:Number = 10;
trace(++n1); // 11

var n2:Number = 10;
trace(n2++); // 10
</pre>
<p><strong>!=</strong> (desigualdade/diferente)</p>
<p>Testa a desigualdade de duas expressões.<br />
<strong>Ex.:</strong></p>
<pre name="code" class="js">
var a:Number = 5;
var b:Number = 10;
var c:Number = 5;

trace(a != b); // true
trace(a != c); // false
</pre>
<p><strong>&lt;</strong> (menor que)</p>
<p>Compara duas expressções e determina se a expressão1 é menor que a expressão2, se for retorna true.<br />
<strong>Ex.:</strong></p>
<pre name="code" class="js">
var a:Number = 5;
var b:Number = 10;

trace(a &lt; b); // true
trace(b &lt; a); // false
</pre>
<p><strong>&lt;=</strong> (menor igual que)</p>
<p>Compara duas expressões e determina se a expressão1 é menor ou igual que a expressão2, se for retorna true.<br />
<strong>Ex.:</strong></p>
<pre name="code" class="js">
var a:Number = 5;
var b:Number = 5;
var c:Number = 7;

trace(a &lt;= b); // true
trace(b &lt;= c); // true
</pre>
<p><strong>&amp;&amp;</strong> (E lógico)</p>
<p>Executa uma operação booleana nos valores de ambas expressões.<br />
<strong>Ex.:</strong></p>
<pre name="code" class="js">
var n:Number = 50;
if ((n &gt; 10) &amp;&amp; (n &lt; 80)) {
    trace("n está entre 10 e 80");
}
</pre>
<p><strong>!</strong> (NÃO lógico)</p>
<p>Inverte o valor booleano da variável ou expressão (negação).<br />
<strong>Ex.:</strong></p>
<pre name="code" class="js">
var b:Boolean = false;
if (!b) {
    trace("Condição passada como true");
}
</pre>
<p><strong>||</strong> (OU lógico)</p>
<p>Executa uma operação booleana nos valores de ambas expressões.<br />
<strong>Ex.:</strong></p>
<pre name="code" class="js">
var n:Number = 100;
if ((n &lt; 10) &amp;&amp; (n &gt; 80)) {
    trace("n é menor que 10 ou maior que 80");
}
</pre>
<p><strong>%</strong> (módulo/mod)</p>
<p>Calcula o resto da divisão entre a expressão1 pela expressão2.<br />
<strong>Ex.:</strong></p>
<pre name="code" class="js">
var a:Number = 10;
var b:Number = 3;

trace(a%b); // 1
</pre>
<p><strong>*</strong> (multiplicação)</p>
<p>Multiplica a expressão1 pela expressão2.<br />
<strong>Ex.:</strong></p>
<pre name="code" class="js">
var a:Number = 4;
var b:Number = 3;

trace(a*b); // 12
</pre>
<p><strong>-</strong> (subtração)</p>
<p>Usado para subtrair ou negar, transformar em negativo, expressões.<br />
<strong>Ex.:</strong></p>
<pre name="code" class="js">
var a:Number = 8;
var b:Number = 2;

trace(a-b); // 6
trace(-(a-b)); // -6
</pre>
<p><strong>-=</strong> (atribuição de decremento)</p>
<p>Atribui à expressão1 o valor da expressão1 menos a expressão2.<br />
<strong>Ex.:</strong></p>
<pre name="code" class="js">
var a:Number = 5;
a -= 3;

trace(a); // 2
</pre>
<p>Para saber mais sobre operadores do Actionscript veja no próprio help do Flash, ou no <a href="http://livedocs.adobe.com/flash/8/" title="Flash 8 LiveDocs" target="_blank">LiveDocs da Adobe</a></p>
<div class="shr-publisher-82"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2007%2F03%2F24%2Factionscript-operadores%2F' data-shr_title='ActionScript%3A+Operadores'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2007%2F03%2F24%2Factionscript-operadores%2F' data-shr_title='ActionScript%3A+Operadores'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2007%2F03%2F24%2Factionscript-operadores%2F' data-shr_title='ActionScript%3A+Operadores'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://rogeriolino.com/2007/03/24/actionscript-operadores/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Flash: Resize Proporcional</title>
		<link>http://rogeriolino.com/2007/03/06/flash-resize-proporcional/</link>
		<comments>http://rogeriolino.com/2007/03/06/flash-resize-proporcional/#comments</comments>
		<pubDate>Wed, 07 Mar 2007 02:41:33 +0000</pubDate>
		<dc:creator>Rogério Alencar Lino Filho</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[altura]]></category>
		<category><![CDATA[chivalrous]]></category>
		<category><![CDATA[flashmasters]]></category>
		<category><![CDATA[forum]]></category>
		<category><![CDATA[height]]></category>
		<category><![CDATA[largura]]></category>
		<category><![CDATA[proporciona]]></category>
		<category><![CDATA[prototype]]></category>
		<category><![CDATA[resize]]></category>
		<category><![CDATA[width]]></category>

		<guid isPermaLink="false">http://rogeriolino.wordpress.com/2007/03/06/flash-resize-proporcional/</guid>
		<description><![CDATA[<p>Acabei de responder no <a href="http://www.flashmasters.com.br/forum/" title="Forum FlahsMasters" target="_blank">forum da FlashMasters</a> um tópico que se tratava sobre a seguinte dúvida:</p> <p>O membro queria saber alguma função que redimensiona-se um determinado objeto mas mantendo a sua proporção. Por exemplo um MovieClip de tamanho 400&#215;200 se eu aumentar a largura em 100 tenho que aumentar a altura [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Acabei de responder no <a href="http://www.flashmasters.com.br/forum/" title="Forum FlahsMasters" target="_blank">forum da FlashMasters</a> um tópico que se tratava sobre a seguinte dúvida:</p>
<p>O membro queria saber alguma função que redimensiona-se um determinado objeto mas mantendo a sua proporção. Por exemplo um MovieClip de tamanho 400&#215;200 se eu aumentar a largura em 100 tenho que aumentar a altura em 50. Isso devido a razão entre os dois valores.</p>
<p>Então com um lápis na mão podemos chegar a seguinte fórmula para uma nova altura caso altere sua largura:</p>
<blockquote><p>
<strong>H =  dW . H/W + H</strong><br />
Aonde:<br />
<em> H: Altura</em><br />
<em>W: Largura</em><br />
<em>dX:  delta da variável &#8220;X&#8221;</em>
</p></blockquote>
<p><em>Sabendo a fórmula para uma nova altura é facil chegar na da nova largura:</em></p>
<blockquote><p><strong>W = dH . W/H + W</strong></p></blockquote>
<p>Agora então mãos a obra com as Actions:</p>
<pre name="code" class="js">
MovieClip.prototype.resizeW = function(w) {
    var dw = w - this._width;
    this._height += dw * (this._height / this._width);
    this._width = w;
}

MovieClip.prototype.resizeH = function(h) {
    var dh = h - this._height;
    this._width += dh * (this._width / this._height);
    this._height = h;
}
</pre>
<p>Para utilizar:</p>
<pre name="code" class="js">
// redimensionando a partir da largura
MovieClip.resizeW(novaLargura);

// redimensionando a partir da altura
MovieClip.resizeH(novaAltura);
</pre>
<p>Espero que seja útil.</p>
<div class="shr-publisher-77"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2007%2F03%2F06%2Fflash-resize-proporcional%2F' data-shr_title='Flash%3A+Resize+Proporcional'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2007%2F03%2F06%2Fflash-resize-proporcional%2F' data-shr_title='Flash%3A+Resize+Proporcional'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2007%2F03%2F06%2Fflash-resize-proporcional%2F' data-shr_title='Flash%3A+Resize+Proporcional'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://rogeriolino.com/2007/03/06/flash-resize-proporcional/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Flash: Resume Texto (substring e indexOf)</title>
		<link>http://rogeriolino.com/2007/02/23/flash-resume-texto-substring-e-indexof/</link>
		<comments>http://rogeriolino.com/2007/02/23/flash-resume-texto-substring-e-indexof/#comments</comments>
		<pubDate>Fri, 23 Feb 2007 22:51:51 +0000</pubDate>
		<dc:creator>Rogério Alencar Lino Filho</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[flashmasters]]></category>
		<category><![CDATA[forum]]></category>
		<category><![CDATA[indexof]]></category>
		<category><![CDATA[prototype]]></category>
		<category><![CDATA[resumo]]></category>
		<category><![CDATA[substring]]></category>
		<category><![CDATA[texto]]></category>

		<guid isPermaLink="false">http://rogeriolino.wordpress.com/2007/02/23/flash-resume-texto-substring-e-indexof/</guid>
		<description><![CDATA[<p>Esses dias no<a href="http://www.flashmasters.net/forum" title="Forum FlashMaters" target="_blank"> Forum FlashMasters</a> um amigo meu deixou a seguinte dúvida:</p> <p>Ele queria saber como fazer uma função para resumir um texto (uma String) por palavras. E não por caracteres. O que poderia ser feito apenas usando uma função substring() do próprio Flash.</p> <p>Então fiz uma bem simples depois dei [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Esses dias no<a href="http://www.flashmasters.net/forum" title="Forum FlashMaters" target="_blank"> Forum FlashMasters</a> um amigo meu deixou a seguinte dúvida:</p>
<p>Ele queria saber como fazer uma função para resumir um texto (uma String) por palavras. E não por caracteres. O que poderia ser feito apenas usando uma função <strong>substring()</strong> do próprio Flash.</p>
<p>Então fiz uma bem simples depois dei uma implementada nela (utilizando prototype) e estou postando aqui porque acho que poderá ser útil:</p>
<pre name="code" class="js">
String.prototype.resume = function(q) {
    var aux:String = "";
    for (var i = 0; i &lt; q; i++) {
        aux += this.substring(0, this.indexOf(" ")) + " ";
        this = this.substring(this.indexOf(" ") + 1);
    }
    return (aux += "...");
}
</pre>
<p>Na função é passado por parâmetro a quantidade de espaços (palavras) no qual o texto será resumido.</p>
<blockquote><p><strong>substring()</strong> : Retorna um pedaço da <strong>String</strong>. Método sobrecarregado você pode passar dois ou um parâmetro (<strong>Integer</strong>). Passando dois o primeiro é o ponto inicial e o segundo final. Com um parâmetro ela retorna da posição escolhida em diante.</p>
<p><strong>indexOf() :</strong> Retorna a posição (<strong>Integer</strong>) no texto (<strong>String</strong>)  da <strong>Char/String</strong> passado como parâmetro, ou -1 quando não achar.</p></blockquote>
<p>E para utilizar:</p>
<pre name="code" class="js">
var texto = "Putz, o carnaval acabou comigo.";
trace(texto.resume(3)); // "Putz, o carnaval ..."
</pre>
<p><strong>Mais sobre essas funções e outras:</strong></p>
<p><a href="http://livedocs.adobe.com/flash/8/main/wwhelp/wwhimpl/js/html/wwhelp.htm?href=Part4_ASLR2.html" title="Livedocs Adobe - Flash 8" target="_blank">Livedocs.Adobe.com &#8211; Flash 8</a></p>
<p><strong>[update date="24/02/2007" ] </strong></p>
<p>Adicionei condições para ver se o texto não é uma única palavra ou a quantidade de palavras no texto é menor do que a quantidade que quer resumir.</p>
<pre name="code" class="js">
String.prototype.resume = function(q) {
    var aux:String = "";
    var menor:Boolean = (this.indexOf(" ") == -1) ? false : true;
    for (var i= 0; i &lt; q; i++) {
        if (!menor) {
            return this;
        } else if (this.indexOf(" ") != -1) {
            aux += this.substring(0, this.indexOf(" ")) + " ";
            this = this.substring(this.indexOf(" ") + 1);
        } else {
            return aux + this;
        }
    }
    return aux + "...";
}
</pre>
<p><strong> [/update]</strong></p>
<div class="shr-publisher-75"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2007%2F02%2F23%2Fflash-resume-texto-substring-e-indexof%2F' data-shr_title='Flash%3A+Resume+Texto+%28substring+e+indexOf%29'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2007%2F02%2F23%2Fflash-resume-texto-substring-e-indexof%2F' data-shr_title='Flash%3A+Resume+Texto+%28substring+e+indexOf%29'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2007%2F02%2F23%2Fflash-resume-texto-substring-e-indexof%2F' data-shr_title='Flash%3A+Resume+Texto+%28substring+e+indexOf%29'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://rogeriolino.com/2007/02/23/flash-resume-texto-substring-e-indexof/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Flash: startDrag() e stopDrag()</title>
		<link>http://rogeriolino.com/2007/01/29/flash-startdrag-e-stopdrag/</link>
		<comments>http://rogeriolino.com/2007/01/29/flash-startdrag-e-stopdrag/#comments</comments>
		<pubDate>Mon, 29 Jan 2007 17:34:33 +0000</pubDate>
		<dc:creator>Rogério Alencar Lino Filho</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[arrastavel]]></category>
		<category><![CDATA[draggable]]></category>
		<category><![CDATA[flutuante]]></category>
		<category><![CDATA[janela]]></category>
		<category><![CDATA[movieclip]]></category>
		<category><![CDATA[startdrag]]></category>
		<category><![CDATA[stopdrag]]></category>
		<category><![CDATA[swf]]></category>
		<category><![CDATA[window]]></category>

		<guid isPermaLink="false">http://rogeriolino.wordpress.com/2007/01/29/flash-startdrag-e-stopdrag/</guid>
		<description><![CDATA[<p>Aproveitando o post anterior sobre uma div arrastável usando Javascript. Vamos ver agora como seria feito uma janela também arrastável só que no Flash.</p> <p>Primeiro de tudo é desenharmos nossa janela, ela será divida da seguinte maneira:</p> <p>janela (MovieClip Principal)<br /> &#124;&#8211; barra;<br /> &#124;&#8211; minimax;<br /> &#124;&#8211; fechar;<br /> \&#8211; conteudo.</p> <p>Use as ferramentas [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Aproveitando o post anterior sobre uma div arrastável usando Javascript. Vamos ver agora como seria feito uma janela também arrastável só que no Flash.</p>
<p>Primeiro de tudo é desenharmos nossa janela, ela será divida da seguinte maneira:</p>
<blockquote><p><strong>janela</strong> (MovieClip Principal)<br />
|&#8211; <strong>barra</strong>;<br />
|&#8211; <strong>minimax</strong>;<br />
|&#8211; <strong>fechar</strong>;<br />
\&#8211; <strong>conteudo</strong>.</p></blockquote>
<p>Use as ferramentas de desenho para construir a janela, mas deixe os desenhos separados como mostrado acima. Se você ainda não está familiarizado<a href="http://rogeriolino.wordpress.com/2006/09/06/flash-8-para-quem-esta-comecando-1/" title="Flash 8 Para quem está começando #1"> leia este post primeiro</a>.</p>
<p>A minha janela ficou assim:</p>
<p><img src="http://rogeriolino.files.wordpress.com/2007/01/janela.gif" alt="Desenho da Janela" /></p>
<p>Aonde cada parte (desenho) é um MovieClip diferente, para <strong>transformar</strong> o seu <strong>desenho</strong> em <strong>MovieClip</strong> selecione ele aperte <strong>F8</strong> coloque o nome do MC e verifique se o <strong>radiobutton MovieClip</strong> realmente está marcado.</p>
<p>Após criado o Movie devemos instanciâ-lo, para isso clique nele e vá na aba <strong>Propriedades</strong> (<strong>CTRL+F3</strong>), preencha o campo instância (siga os nomes definidos acima).</p>
<p>Com os quatros MovieClips prontos (<strong>barra</strong>, <strong>minimax</strong>, <strong>fechar</strong> e <strong>conteudo</strong>) selecione-os e aperte novamente <strong>F8</strong> para transformá-los no nosso <strong>MC janela</strong>.</p>
<p>Caso você queira editar algum movie ou apenas posicionar melhor, dê um duplo clique nele e poderá navegar através dos demais que estão contidos nele.</p>
<p>Agora com os MCs criados e instanciados, vamos às <strong>actions</strong>:</p>
<p>Clique no <strong>frame principal</strong> (o primeiro frame da timeline) e aperte <strong>F9</strong>. Cole o código abaixo:</p>
<pre name="code" class="js">
this.janela.barra.onPress = function() {
    this._parent.startDrag();
}

this.janela.barra.onRelease = function() {
    this._parent.stopDrag();
}

this.janela.fechar.onRelease = function() {
    this._parent._visible = false;
}

this.abrir.onRelease = function() {
    this._parent.janela._visible = true;
}

this.janela.minimax.onRelease = function() {
    this._parent.conteudo._visible = !this._parent.conteudo._visible;
}
</pre>
<p>Ao contrário do Javascript e das versões bem mais antigas (até a 5) do Flash não é necessário um método para pegar um alvo. Você mostra o caminha para se chegar nele a partir do palco (_root sempre para raiz, ou this este filme &#8211; isso ficará mais claro quando aprendermos sobre carregar filme externo).</p>
<p>Por exemplo o movie<strong> fechar</strong> está no dentro do MC<strong> janela</strong> que por sua vez está no palco, então: <strong>this.janela.fechar</strong>. E se você estiver em um MC (fehcar por exemplo) e queira acessar o seu pai (janela), fica assim: <strong>this._parent</strong>.</p>
<p>Repare no código que a lógica é a mesma, porém no Flash tem um método nativo para realiza esse arrastar (<strong>startDrag()</strong>) e um para parar esse arrastar (<strong>stopDrag()</strong>). O que no HTML temos que fazer na mão mesmo.</p>
<p>O que reduz e muito o código final. Agora é só testar (CTRL+ENTER).</p>
<p>Para ver o <a href="http://www17.brinkster.com/chivalrous/exemplos/flash_drag/flash_drag.html" title="startDrag()" target="_blank">exemplo clique aqui</a>.</p>
<div class="shr-publisher-70"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2007%2F01%2F29%2Fflash-startdrag-e-stopdrag%2F' data-shr_title='Flash%3A+startDrag%28%29+e+stopDrag%28%29'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2007%2F01%2F29%2Fflash-startdrag-e-stopdrag%2F' data-shr_title='Flash%3A+startDrag%28%29+e+stopDrag%28%29'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2007%2F01%2F29%2Fflash-startdrag-e-stopdrag%2F' data-shr_title='Flash%3A+startDrag%28%29+e+stopDrag%28%29'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://rogeriolino.com/2007/01/29/flash-startdrag-e-stopdrag/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Flash: AS2 &#8220;Hello World!&#8221;</title>
		<link>http://rogeriolino.com/2007/01/12/flash-as2-hello-world/</link>
		<comments>http://rogeriolino.com/2007/01/12/flash-as2-hello-world/#comments</comments>
		<pubDate>Fri, 12 Jan 2007 22:45:37 +0000</pubDate>
		<dc:creator>Rogério Alencar Lino Filho</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[as2]]></category>
		<category><![CDATA[hello world]]></category>
		<category><![CDATA[textfield]]></category>
		<category><![CDATA[textformat]]></category>

		<guid isPermaLink="false">http://rogeriolino.wordpress.com/2007/01/12/flash-as2-hello-world/</guid>
		<description><![CDATA[<p>Vamos nos familiarizar com a ActionScript 2, nesse exemplo veremos como exibir uma mensagem no meio do palco sem usar a ferramenta de texto, apenas por AS.</p> <p>Após abrir o Flash (na versão 6 ou superior) escolha novo arquivo (New/Novo &#62; Flash Document) .</p> <p>Clique no primeiro frame da Timeline e aperte F9 (atalho para [...]]]></description>
			<content:encoded><![CDATA[<!-- Start Shareaholic LikeButtonSetTop Automatic --><!-- End Shareaholic LikeButtonSetTop Automatic --><p>Vamos nos familiarizar com a ActionScript 2, nesse exemplo veremos como exibir uma mensagem no meio do palco sem usar a ferramenta de texto, apenas por AS.</p>
<p>Após abrir o Flash (na versão 6 ou superior) escolha novo arquivo (<em>New/Novo &gt; Flash Document</em>) .</p>
<p>Clique no primeiro frame da Timeline e aperte F9 (atalho para abrir a janela das Actions).</p>
<p>Criando então o campo de texto aonde aparecerá a mensagem.</p>
<pre name="code" class="javascript">
this.createTextField("meuCampo", _root.getNextHighestDepth(), 0, 0, 0, 0);
meuCampo.autoSize = true;
meuCampo.html = true;
meuCampo.text = "Hello World!";
</pre>
<p>É passado como parâmetro no método <strong>createTextField()</strong> o nome de instância do campo de texto (text field), a profundidade (o que define o que fica em cima do que &#8211; nesse caso usamos um método para retornar um valor para seu objeto ficar por cima de todos), o valor da posição em <strong>x</strong>, em <strong>y</strong>, largura e altura.</p>
<p>Não precisa se preocupar porque todos valores estão zerados, que como pode ver logo embaixo definimos que o nosso campo de texto pode auto ajustar o seu tamanho (autoSize). Logo aumentará de acordo com o tamanho do texto.</p>
<p>Mais abaixo pertimimos o campo de texto aceitar tags, ele aceita html.</p>
<p>E por fim o nosso texto, a mensagem que queremos que apareça &#8211; &#8220;Hello World!&#8221;. Como nosso campo de texto tá definido como html poderiamos passar o texto assim:</p>
<pre name="code" class="javascript">
meuCampo.htmlText = "Hello World!";
</pre>
<p>Assim o campo de texto irá tratar as tags e mostrará só o texto. Isso é muito bom porque você pode passar um texto todo e ele ficará já pré-definido pelas tags. E também nos possibilita utilizar CSS para formatar o texto, mas isso não veremos agora.</p>
<p>Se você executar agora o arquivo verá a mensagem aparecer na parte superior esquerda, e com a formatação padrão.</p>
<p>Vamos então criar o objeto que formatará o nosso texto (<strong>textFormat</strong>).</p>
<pre name="code" class="javascript">
var style:TextFormat = new TextFormat();
style.align = "center";
style.bold = true;
style.italic = true;
style.color = 0x000099;
style.font = "Verdana";
style.size = 30;
style.url = "http://rogeriolino.com"
</pre>
<p>Para poder conhecer  melhor as propriedades vamos deixar o texto bem &#8220;emperequetado&#8221;. Alinhamento central (pode escolher: &#8220;justify&#8221;, &#8220;center&#8221;, &#8220;left&#8221;, &#8220;right&#8221;), negrito (bold), italico (italic), a cor é representada de uma forma diferente do CSS ao invéz da &#8220;#&#8221; na frente usa-se &#8220;0x&#8221; (zero e xis) mais o código hexadecimal, a font (poderia ser &#8220;Arial&#8221; por exemplo), o tamanho (size) e por graça um link (url) passando o destino dele. Para este último funcionar tem que definir o campo como <strong>html</strong>.</p>
<p>Agora só falta adicionar esse estilo ao campo:</p>
<pre name="code" class="javascript">
meuCampo.setTextFormat(style);
</pre>
<p>E colocar o ele centralizado no palco:</p>
<pre name="code" class="javascript">
meuCampo._x = (Stage.width-meuCampo._width)/2;
meuCampo._y = (Stage.height-meuCampo._height)/2;
</pre>
<p>Posição x recebe a largura do palco menos a largura do texto dividido por 2;<br />
Posição y recebe a altura do palco menos a altura do texto dividido por 2;</p>
<p>Para funcionar corretamente temos que alinhar por último já que o tamanho do campo de texto irá mudar ao aplicar o estilo.</p>
<p>Agora é só executar. Abaixo o código completo:</p>
<pre name="code" class="javascript">
this.createTextField("meuCampo", _root.getNextHighestDepth(), 0, 0, 0, 0);
meuCampo.autoSize = true;
meuCampo.html = true;
meuCampo.text = "Hello World!";

var style:TextFormat = new TextFormat();
style.align = "center";
style.bold = true;
style.italic = true;
style.color = 0x000099;
style.font = "Verdana";
style.size = 30;
style.url = "http://rogeriolino.com";

meuCampo.setTextFormat(style);
meuCampo._x = (Stage.width-meuCampo._width)/2;
meuCampo._y = (Stage.height-meuCampo._height)/2;
</pre>
<div class="shr-publisher-65"></div><!-- Start Shareaholic LikeButtonSetBottom Automatic --><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><div class='shareaholic-like-buttonset' style='float:none;height:30px;'><a class='shareaholic-fblike' data-shr_layout='button_count' data-shr_showfaces='false' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2007%2F01%2F12%2Fflash-as2-hello-world%2F' data-shr_title='Flash%3A+AS2+%22Hello+World%21%22'></a><a class='shareaholic-googleplusone' data-shr_size='medium' data-shr_count='true' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2007%2F01%2F12%2Fflash-as2-hello-world%2F' data-shr_title='Flash%3A+AS2+%22Hello+World%21%22'></a><a class='shareaholic-tweetbutton' data-shr_count='horizontal' data-shr_href='http%3A%2F%2Frogeriolino.com%2F2007%2F01%2F12%2Fflash-as2-hello-world%2F' data-shr_title='Flash%3A+AS2+%22Hello+World%21%22'></a></div><div style="clear: both; min-height: 1px; height: 3px; width: 100%;"></div><!-- End Shareaholic LikeButtonSetBottom Automatic -->]]></content:encoded>
			<wfw:commentRss>http://rogeriolino.com/2007/01/12/flash-as2-hello-world/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

