与菜单相关的类一共有3个 var cm:ContextMenu=new ContextMenu(); //定义CM对象,赋值给可视元件. //而后的代码中,会对cm的属性进行修改。达到自定义的效果 //那么就会分别对●内置菜单 ●用户菜单 进行修改 mc.contextMenu=cm; //当然你也可以赋值给舞台。如下语句 //contextMenu=cm; /////////////编辑内置菜单//////////////////////////////////////// cm.hideBuiltInItems();
////////////////////////////////////////////////////////////////////
////////////编辑用户菜单//////////////////////////////////////// var cm1:ContextMenuItem=new ContextMenuItem("菜单1",false,true,true); var cm2:ContextMenuItem=new ContextMenuItem("菜单2",false,true,true); var cm3:ContextMenuItem=new ContextMenuItem("菜单3",false,false,true); cm.customItems.push(cm1);//标题名字,分割线,可用,可见 cm.customItems.push(cm2); cm.customItems.push(cm3); ////////////注意自定义菜单是可以在运行中动态修改的。看个人发挥了////////////
//////////////////////////侦听事件函数//////////////////////// //注意侦听的对象是ContextMenuItem,还有个MENU_SELECT事件的监听,注意那个是用在ContextMenu 上的 //在下面依次对cm1,cm2,cm3,三个ContextMenuItem对象添加侦听。 cm2.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,clickMenu); cm3.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,clickMenu); trace(e.bubbles);//false,是否冒泡 trace(e.contextMenuOwner);//[object MovieClip],所属的对象 trace(e.currentTarget);//[object ContextMenuItem], trace(e.mouseTarget);//[object MovieClip],用户右键单击以显示上下文菜单的显示列表对象。 trace(e.target);//[object ContextMenuItem] trace(e.target.caption);//菜单1,可以从这里来判断,后续操作或者应该执行的函数。 trace(e.currentTarget.caption);//菜单1 } |
|
来自: 宜宾翠屏区 > 《ActionScprit3.0》