Archives for the 'ActionScript' category
ActionScript Não Documentado
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 Guru e Daniel Hi) 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.
Foi quando eu comecei a relembrar alguns truques que o pessoal do Flash vem nos pregando, desde as primeiras versões do ActionScript.
Exemplos:
- fscommand save (somente em Flash 4 e 5 e gerando um executável)
Descrição: Comando que salva um arquivo de texto ou um swf.
FSCommand(”save”,”filename.txt”);
- MMSave (somente em Flash 5 e o arquivo deve estar dentro da pasta Configuration da Instalação do Flash no C:) - Somente para teste
Descrição: Comando que salva um arquivo de texto ou um swf.
MMSave(alvo, nomeDoArquivo);
- dashboardSave (somente em Flash 5 e o arquivo deve estar dentro da pasta Dashboard da Instalação do Flash no C:) - Somente para teste
Descrição: Comando que salva um arquivo de texto ou um swf.
dashboardSave(this,”tester.swf”);
- arguments
Descrição: Array que exibe os argumentos de tal função.
function oi ()
{
for (z = 0; z < arguments.length; ++z)
{
trace (arguments[z]);
}
}
oi ("oi","Olá, como vai?");
- ASSetPropFlags (Todas as Versões)
Descrição: Seta permissão de leitura e escrita de propriedades e métodos de determinado Objeto. Para todas as referências veja o site do Flashblockquoters.
objeto= {a:0, b:0, c:0, d:0, e:0} // escondendo propriedades c e d
ASSetPropFlags(objeto,”c,d”,1);
// ASSetPropFlags(objeto,[[”c”,”d”],1); // (Flash 5)
for(a in objeto)trace(a); // output: a,b,e
// deixar visível novamente a propriedade c
ASSetPropFlags(objeto,”c”,0,1);
// ASSetPropFlags(objeto,[[”c”],8); // (Flash 5)
for(a in myObject)trace(a); // output: a,b,c,e
- ASnative(i, j)
Descrição: 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 Flashblockquoters.
oi = ASnative(100,4);
oi(”Heppa”);
- Cookie (O arquivo deve estar dentro da pasta mmfdata da Intalação do Flash no C:) - Somente para teste
Descrição: Cria um arquivo xml como sendo um cookie.
Cookie.setCookie(”Filipe”);
c = new XML();
c = Cookie.getCookie();
c.onLoad = dizNome; function dizNome(n)
{
if (n)
{
trace (this);
}
}
- _flashN
Descrição: Semelhante ao _levelN, porém com escopo local.
function dizOi ()
{
trace (”oi”);
}
_flash0.dizOi ();
- getUrl
Descrição: Você pode carregar um arquivo em determinado level, bem como o loadMovieNum();
getUrl(”mymovie.swf”, “_level2″);
- MovieClip.meth();
Descrição: Especifica o recebimento de variáveis (feitos pelo LoadVariables) para determinado MovieClip por GET ou POST. - Array.qsort (somente Flash 5)
Descrição: 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.
aNomes = [”Filipe”,”Ghesla”,”Silvestrim”,”Ciclano”];
aNomes.qsort(indiceInicial, indiceFinal, funcaoDeSort);
- ASSetNative
Descrição: Define funções nativas do flash, como sendo propriedades ou metodos de determinados objetos.
matematica = {}
ASSetNative(matematica,200,[”exp”,”log”,”sqrt”,”round”],7)
trace(matematica.exp(2,5)); // 7.38905609893065
trace(matematica.log(25)); // 3.2188758248682
trace(matematica.sqrt(25)); // 5
trace(matematica.round(2.5)); // 3
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 Flash Hacks.
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 “todos” 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 http://haxe.org/api/.
Por esse post era isso pessoal, podem ficar de olho que estarei postando muitos desafios e descobertas por aqui ![]()









