mai/08 08

Este é um detalhe que muita gente esquece na hora de construir um website. Quando clicamos com o botão direito em qualquer arquivo swf, normalmente nos surge um menu com opções do tipo “zoom in”, “zoom out”, etc. Este menu, que na maioria das vezes é inofensivo, pode, entretanto, arruinar a navegação e a experiência de alguns websites. Principalmente quando são em janela cheia, como é o caso que usei no site da Brazucah e do Bruno Latini. Além disso, é muito mais bacana um menu personalizado do que um monte de frase em inglês sem nenhuma ligação com o usuário. Em tempos de WEB 2.0, adequação nos mínimos detalhes é fundamental.

Eis abaixo o script. Já está com todos os comentários explicadinhos. Basta recortar o código abaixo e colar no painel de action script do primeiro frame do seu arquivo .fla.

//Primeiro definimos as funções que
//queremos executar, que eu chamei
//aqui de "pegarArquivos" e "gotoCabana".

function pegarArquivos () {
getURL("http://www.cabanacriacao.com/tutoriais/customizar_menu.fla", "_blank");
}

function gotoCabana () {
getURL("http://www.cabanacriacao.com", "_blank");
}

//Agora criamos um menu novo e desativamos os itens que já vem acoplados, como "zoom in", "zoom out", etc.
//Lembrando que não há como desativar "About Flash Player 9" e "settings".
//Criamos a variável "meuMenu" e dizemos que é um novo "ContextMenu"
//Depois dizemos para os itens acoplados desaparecerem: "hideBuiltInItems".
var meuMenu:ContextMenu = new ContextMenu();
meuMenu.hideBuiltInItems();

//Criamos as variáveis que serão lançadas dentro do novo menu
//e fazemos referências às funções que queremos puxar: "pegarArquivos" e "gotoCabana"
//O que vai entre aspas é a frase exposta no Menu ao usuário final.
var vaiArquivos:ContextMenuItem = new ContextMenuItem("Baixar os arquivos fonte.", pegarArquivos);
var vaicabana:ContextMenuItem = new ContextMenuItem("Quem fez este tutorial bacana?", gotoCabana);

//Mandamos um "push" para literalmente "empurrar" as variáveis dentro da lista
//de variáveis que o menu já tem
meuMenu.customItems.push(vaiArquivos, vaicabana);

//Pra finalizar, lançamos o "meuMenu" no lugar do "menu" original.
_root.menu = meuMenu;

//pronto!

Ah! Utilizei o excelente plugin Highlight Source Pro pra mostrar o código como aparece no Flash. Demorei pra achar um plugin WordPress que funcionasse bem e fosse simples de usar.

Pablo Cabana

14 Respostas para “Como customizar e configurar o menu que surge ao clicar com o botão direito no Flash”

  1. Tarin Diz:

    Mto boa a dica do tutorial….como sempre…bj

  2. Ricardo Diz:

    Qual a versão do wordpress que tu ta usando? tentei usar esse plugin na 2.5.1 mas aparentemente não funciona…

  3. pablo Diz:

    Oi Ricardo! O WordPress do Cabanoblog é o 2.5, mas acredito que este não seja o motivo para o não funcionamento do plugin. Talvez você tenha feito alguma configuração errada.

  4. RpL Diz:

    não consegue arranjar um codigo desses para swishmax? eu ja tentei meter esse que esta ai com as modicações mas nao funciona !

  5. pablo Diz:

    Rpl, o swishmax gera arquivos swf que tem o mesmo comportamento dos gerados pelo Flash. Não há diferença. Você deve estar fazendo algo de errado.

  6. RpL Diz:

    no flash eu consigo fazer isso mas no swishmax nao pk a linguagem e diferente da do flash. o problema é ke tenho o site ja feito em swishmax senao fazia em flash 8. até a parte de declarar as funcoes da depois da erros .

  7. Patricia Lopes Diz:

    Adorei… serviu perfeitamente.. entendi tudo.. Obrigada por compartilhar…
    Bjusssssssssssss

  8. Mateus Pontes Diz:

    @RpL, para funcionar no swishmax, vc deverá fazer algumas modificações no código..

    Veja como ficou o meu código:

    ps: alterem como quiser.. =]

    //INICIO DO CODIGO
    function pegarSite () {
    getURL(“http://www.sitecliente.com”, “_blank”);
    }

    function gotoMeuSite () {
    getURL(“http://www.meusite.com.br”, “_blank”);
    }

    onFrame (1) {
    var meuMenu:ContextMenu = new ContextMenu();
    meuMenu.hideBuiltInItems();

    var vaiArquivos:ContextMenuItem = new ContextMenuItem(“Site do cliente e tal..”, pegarSite);
    var vaicabana:ContextMenuItem = new ContextMenuItem(“by Mateus Pontes “, gotoMeuSite);

    meuMenu.customItems.push(vaiArquivos, vaicabana);

    _root.menu = meuMenu;
    }

    //FIM DO CODIGO

    Abraços, aqui funcionou, espero que consigam tbem

  9. Kadu Nunes Diz:

    Legal tuto ai…. bacana..

    abrax

    Kadu

  10. Pablo Cabana Diz:

    Valeu Kadu, volte sempre!

  11. oxymus Diz:

    Mto bom o tutorial, valew por compartilhar ;)

  12. diego Diz:

    copie,colei,salvei,publiquei mais n funciona.

  13. Pablo Cabana Diz:

    Diego, o que acontece quando você publica o arquivo fonte?

  14. rober Diz:

    Muito Bom Este Tutorial adorei Funciona perfeitamente no Flash CS4

 Deixe um comentário.