Olá a todos, agora vou falar um pouco sobre um metodo bem interessante para a organização do codigo actionscript, podendo ter todos os scripts em um unico bloco de ações mesmo que esses façam referência local dentro de um moviClip indepentente de qual seja o frame. Estou falando do addFrameScript().

A função addFrameScript – flash.display.MovieClip – é um metodo não documentado no Flash CS3 que possibilita adicionar um codigo actionscript, a execução de uma função em determinado frame do codigo actionscript sem que esse codigo precise estar dentro do MovieClip. Funciona da seguinte forma:

movieClipInstance.addFrameScript(frame:Number, actionscript:Function);

dentro de uma classe, como já foi dito acima, deve ser importado a classe “flash.display.MovieClip” para se ter acesso ao addFrameScript.

Outro exemplo é de animação de carregamento de arquivo – Loader.

addFrameScriptImage

Nesse caso acima, o movieClip que tem a animação do carregamento não tem nenhum actionscript, mas quando a quantidade total de bits é carregada, como podemos ver o bloco da linha 20 a 24, primeiramente é retirado o evento ENTER_FRAME, depois pede para o carregador (PreLoader) executar o restante da animação e na linha 23 foi pedido para que no ultimo frame de PreLoader fosse adicionado a função gotoNextScene() assim indo finalmente ao site.

A função não fica marcada em azul como as demais ‘default’ do CS3 pelo fato de não ser documentada mas é de grande ajuda para deixar um codigo mais compacto e menos espalhado pelo arquivo e seus inumeros clips.

Espero que tenha ajudado, até mais.

Read too:

3 Responses to “addFrameScript undocument feature AS3”

  1. Adrian Miranda Says:

    Ajudou! ;)

  2. Pablo Davi Says:

    Qualquer duvida só comentar
    XD

  3. Adrian Miranda Says:

    é então, até tinha que era com relação a usar duas funções na mesma timeline, pois, “geralmente” usamos em uma animação um stop no início outro no fim por exemplo, se isso se extendia a array de funções e tudo o mais, mas isso já é por conta mesmo, vi que dá pra fazer tipo:

    addFrameScript(frame1, função1, frame2, função2);

    e não sabia que se extendia a cenas :D

    muito bom o tutu e a iniciativa, parabéns! :)

Leave a Reply