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






Grande brother!!!
Bem-vindo a blogosfera!!!!
Aquele abraço!!!
Fino!!! mto bom o post e continua com o blog ae… jah toh passando pra todo mundo
Muito fino as paradas de salvar, não fragava mesmo… até meio bizarro pra falar a verdade, ehehheheheh.
Agora te avisar que o array arguments eh documentado sim… eu aprendi a usar ele dentro do help do flash mesmo…
Muito bom o post, parabens!
Muito obrigado pelos elogios galera..
Isso faz com que cada vez mais eu perceba que felizmente o meu trabalho não é em vão, e sim para um crescimento mútuo…
Ruy, que estranho, nunca ví ele de forma explícita no help do flash… Só ví essa propriedade sendo mostrada no flash (sendo que ela nem fora abordada) no método apply da classe Function…
Se você viu a explicação de forma explícita, manda aí para agente saber…
Muito obrigado a todos.
Cara, como muito bom! De novo! hehe
Eu acho essa iniciativa tua muito boa, porque tu tem muito conhecimento e vontade de passa-los adiante, e esse blog é a melhor forma de fazer isso!!!
Grande abraço!
Dentro do help do flash 8, entra em “ActionScript 2.0 Language Reference” > “Actionscript Classes” > “arguments”
Lah dentro tem a documentação do objeto arguments inteira, com as propriedades caller , callee e length, é muito bom dar uma olhada ^^
flwwwss
Legal, gostei, além disso existe um outro método de salvar e que funciona em de MX ou superior e consegui usar o MMSave em flash 8
Fala, mainho!
Muito boas as dicas…
Maas eu tenho uma dívida e foi através dela q/ encontrei ess Blog Fenomenal…
É o seguinte:
eu preciso descobrir como fazer o actionscript 3 chamar um executável (externo) e passar parâmetros p/ esse exdecutável e depois recuperar o retorno do executavel no actionscript.
Se souber de algo me avise por favor!
Brigadão.
CesarDraw
Muito bom mesmo, tava procurando este save a muito tempo, valeu cara!!!