Personalizar Menú de Click derecho

Apr 5, 2010   //   by EderChrono   //   Blog {es}  //  1 Comment

El menú que aparece al dar click derecho sobre un flash suele ser poco útil. Con as3 podemos personalizar el menú quitando todas las funciones que tiene por defaullt y agregando las nuestras.

Al terminar el tutorial obtendremos algo como esto:


This movie requires Flash Player 9

Personalizar el menu es muy sencillo, basta con unas cuantas líneas de código para quitar, agregar y deshabilitar submenús, separadores, además de poder asignar acciones para cuando sean presionados.

Para generar un menú como el de arriba sólo necesitas poner el siguiente código:

//creamos nuestro menu
var miMenu:ContextMenu = new ContextMenu();
//escondemos los items que tiene por default
miMenu.hideBuiltInItems();

//declaramos los submenus con el letrero que van a tener
var menu_chrono:ContextMenuItem = new ContextMenuItem("Chrono");
var menu_blog:ContextMenuItem = new ContextMenuItem("blog");
var menu_eder:ContextMenuItem = new ContextMenuItem("hecho por Eder");

//Con estas 2 líneas deshabilitamos el tercer submenú
menu_eder.enabled = false;
menu_eder.separatorBefore = true;

//agregamos listeners de los otros menús para cuando sean presionados
menu_chrono.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, abrirChrono);
menu_blog.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, abrirBlog);

//funcion que se activa al ser presionado el primer menú
function abrirChrono(e:ContextMenuEvent):void{
	navigateToURL(new URLRequest("http://chrono.com.mx"));
}
//funcion que se activa al ser presionado el segundo menú
function abrirBlog(e:ContextMenuEvent):void{
	navigateToURL(new URLRequest("http://chrono.com.mx/blog"));
}

//agregamos los submenús a nuestro menú
miMenu.customItems.push(menu_chrono, menu_blog, menu_eder);

//cambiamos el menú de flash por el nuestro
contextMenu = miMenu;

Por último aquí están los source files
CS3
CS4

1 Comment

Leave a comment