<?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</title>
	<atom:link href="http://www.filipesilvestrim.com/blog/category/actionscript/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>ActionScript Não Documentado</title>
		<link>http://www.filipesilvestrim.com/blog/20/05/2007/actionscript-nao-documentado/</link>
		<comments>http://www.filipesilvestrim.com/blog/20/05/2007/actionscript-nao-documentado/#comments</comments>
		<pubDate>Mon, 21 May 2007 01:37:44 +0000</pubDate>
		<dc:creator>Filipe Silvestrim</dc:creator>
				<category><![CDATA[ActionScript]]></category>

		<guid isPermaLink="false">http://www.filipesilvestrim.com/blog/20/05/2007/actionscript-nao-documentado/</guid>
		<description><![CDATA[O que eu mais gosto na vida é de desafios e descobertas. Adoro uma linguagem como o ActionScript, pois ela me satisfaz em ambos os gostos, e é claro, eu amo o ActionScript por tantas outras razões relacionadas ao poder e a liberdade que essa linguagem de programação me dá.
Dê olho em alguns blogs (Flash [...]]]></description>
			<content:encoded><![CDATA[<p>O que eu mais gosto na vida é de desafios e descobertas. Adoro uma linguagem como o ActionScript, pois ela me satisfaz em ambos os gostos, e é claro, eu amo o ActionScript por tantas outras razões relacionadas ao poder e a liberdade que essa linguagem de programação me dá.</p>
<p>Dê olho em alguns blogs (<a target="_blank" title="Flash Guru" href="http://www.flashguru.co.uk/undocumented-actionscript-3/">Flash Guru</a> e  <a title="Daniel Hi" href="http://www.danielhai.com/blog/?p=13">Daniel Hi</a>) vei-o me atona um grande mistério e desafio que encontramos no ActionScript que são as funções, os métodos e até algumas classes não documentadas.</p>
<p>Foi quando eu comecei a relembrar alguns truques que o pessoal do Flash vem nos pregando, desde as primeiras versões do ActionScript.</p>
<p><strong>Exemplos</strong>:</p>
<ul>
<li>fscommand save (somente em Flash 4 e 5 e gerando um executável)<br />
<em>Descrição:</em> Comando que salva um arquivo de texto ou um swf.</li>
</ul>
<blockquote><p>FSCommand(&#8221;save&#8221;,&#8221;filename.txt&#8221;);</p></blockquote>
<ul>
<li>MMSave (somente em Flash 5 e o arquivo deve estar dentro da pasta Configuration da Instalação do Flash no C:) &#8211; Somente para teste<br />
<em>Descrição:</em> Comando que salva um arquivo de texto ou um swf.</li>
</ul>
<blockquote><p>MMSave(alvo, nomeDoArquivo);</p></blockquote>
<ul>
<li>dashboardSave (somente em Flash 5 e o arquivo deve estar dentro da pasta Dashboard da Instalação do Flash no C:) &#8211; Somente para teste<br />
<em>Descrição:</em> Comando que salva um arquivo de texto ou um swf.</li>
</ul>
<blockquote><p>dashboardSave(this,&#8221;tester.swf&#8221;);</p></blockquote>
<ul>
<li>arguments<br />
<em>Descrição:</em>  Array que exibe os argumentos de tal função.</li>
</ul>
<blockquote><p>function oi ()<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (z = 0; z < arguments.length; ++z)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trace (arguments[z]);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}<br />
oi ("oi","Olá, como vai?");</p></blockquote>
<ul>
<li>ASSetPropFlags (Todas as Versões)<br />
<em>Descrição:</em> Seta permissão de leitura e escrita de propriedades e métodos de determinado Objeto. Para todas as referências veja o site do <a title="Flash blockquoters" target="_blank" href="http://osflash.org/flashblockquoters/undocumented/assetpropflags">Flashblockquoters</a>.</li>
</ul>
<blockquote><p>objeto= {a:0, b:0, c:0, d:0, e:0} // escondendo propriedades c e d<br />
ASSetPropFlags(objeto,&#8221;c,d&#8221;,1);<br />
// ASSetPropFlags(objeto,[["c","d"],1); // (Flash 5)<br />
for(a in objeto)trace(a); // output: a,b,e<br />
// deixar visível novamente a propriedade c<br />
ASSetPropFlags(objeto,&#8221;c&#8221;,0,1);<br />
// ASSetPropFlags(objeto,[["c"],8); // (Flash 5)<br />
for(a in myObject)trace(a); // output: a,b,c,e</p></blockquote>
<ul>
<li>ASnative(i, j)<br />
<em>Descrição:</em> Retorna uma referência a uma função. É como que se todas as funções do Flash estivessem sendo armazenadas em uma Matriz de Linhas e Colunas. Para todas as referências veja o site do <a title="Flash blockquoters" target="_blank" href="http://osflash.org/flashblockquoters/undocumented/asnative">Flashblockquoters</a>.</li>
</ul>
<blockquote><p>oi = ASnative(100,4);<br />
oi(&#8221;Heppa&#8221;);</p></blockquote>
<ul>
<li>Cookie (O arquivo deve estar dentro da pasta mmfdata da Intalação do Flash no C:) &#8211; Somente para teste<br />
<em>Descrição:</em> Cria um arquivo xml como sendo um cookie.</li>
</ul>
<blockquote><p>Cookie.setCookie(&#8221;Filipe&#8221;);<br />
c = new XML();<br />
c = Cookie.getCookie();<br />
c.onLoad = dizNome; function dizNome(n)<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (n)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trace (this);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />
}</p></blockquote>
<ul>
<li>_flashN<br />
<em>Descrição:</em> Semelhante ao _levelN, porém com escopo local.</li>
</ul>
<blockquote><p>function dizOi ()<br />
{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trace (&#8221;oi&#8221;);<br />
}<br />
_flash0.dizOi ();</p></blockquote>
<ul>
<li>getUrl<br />
<em>Descrição:</em> Você pode carregar um arquivo em determinado level, bem como o loadMovieNum();</li>
</ul>
<blockquote><p>getUrl(&#8221;mymovie.swf&#8221;, &#8220;_level2&#8243;);</p></blockquote>
<ul>
<li>MovieClip.meth();<br />
<em>Descrição:</em> Especifica o recebimento de variáveis (feitos pelo LoadVariables) para determinado MovieClip por GET ou POST.</li>
<li>Array.qsort (somente Flash 5)<br />
<em>Descrição:</em> Método que embaralha índices de um array. Parecido com o sort, porém, este nós especificamos de qual índice a qual índice embaralhar.</li>
</ul>
<blockquote><p>aNomes = ["Filipe","Ghesla","Silvestrim","Ciclano"];<br />
aNomes.qsort(indiceInicial, indiceFinal, funcaoDeSort);</p></blockquote>
<ul>
<li>ASSetNative<br />
<em>Descrição:</em>  Define funções nativas do flash, como sendo propriedades ou metodos de determinados objetos.</li>
</ul>
<blockquote><p>matematica = {}<br />
ASSetNative(matematica,200,["exp","log","sqrt","round"],7)<br />
trace(matematica.exp(2,5)); // 7.38905609893065<br />
trace(matematica.log(25)); // 3.2188758248682<br />
trace(matematica.sqrt(25)); // 5<br />
trace(matematica.round(2.5)); // 3</p></blockquote>
<p>Bom, mas essas só são alguma pérolas não documentadas do ActionScript 1 e 2, lembrando que existem muito mais. Um bom livro que aborda o ActionScript 1 e 2 de cabo a rabo é o <a title="Flash Hacks Book" target="_blank" href="http://www.oreilly.com/catalog/flashhks/?CMP=LEL-YQ4569013319">Flash Hacks</a>.</p>
<p>E voltando para o começo do post quando citei as fontes que eu havia lido os blogs. Nesses blogs eles mostravam cada um um exemplo que métodos não comentados do ActionScript 3. Mas como eu sei que o pessoal gostaria de saber &#8220;todos&#8221; os métodos, propriedades e classes não documentadas, vou dar uma dica para vocês. Na Documentação da API do HAXE (um projeto que tem como fim unificar as linguagens RIA da Web 2.0, em uma única e poderosa linguagem OOP) nós podemos ver todas as classes da API do ActionScript 3 (Flash 9). Tudo isso está nesse link aqui <a title="Haxe Api" target="_blank" href="http://haxe.org/api/">http://haxe.org/api/</a>.</p>
<p>Por esse post era isso pessoal, podem ficar de olho que estarei postando muitos desafios e descobertas por aqui <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/20/05/2007/actionscript-nao-documentado/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>
