原创教程,转载请注明出处:网页教学网
鼠标右键菜单一直都是大家比较热门的话题,从 Flash MX 开始就已经可以自定义鼠标右键菜单了,这里就将一些相关的对象及使用方法的相关资料介绍给大家。 右键菜单控制主要使用的是两个对象: ContextMenu 对象用于产生一个新的菜单数组 ContextMenuItem 对象用于产生一个新的菜单项 对于它的具体使用我们先来看一个具体的效果:
对于它的实现,我把主要的代码给大家说明一下:my_menu = new ContextMenu(); // 声明一个新的菜单对象 my_menu.hideBuiltInItems(); // 屏敞当前的右键菜单(当然,设置菜单和版本信息暂无法屏敞) var dance = new ContextMenuItem("Dance Baby!!!", doDance) my_menu.customItems.push(dance); //设置一个变量创建一个新的子菜单项名为"Dance Baby!!!",响应函数为doDance my_menu.customItems.push(new ContextMenuItem("菜单二", Do_menu_02, true)); // 创建一个新的子菜单,名为“菜单二”,并加一条分隔线 my_menu.customItems[0].enabled = false; // 设置第一个菜单项为不可用菜单(“菜单一”不可用,灰色显示) my_menu.customItems[1].visible = flase; // 设置第二个菜单项不显示(“菜单二”不显示,相当于暂时无此菜单) function doDance() { mcLetters.dancer.gotoAndPlay(2); } // “dance Baby!!!”的响应函数具体内容 function Do_menu_02(obj,item) { // “菜单二”的响应函数具体内容 } ................. mcLetters.menu = my_menu; //将当前定义的菜单绑定到电影剪辑的右键菜单上 //_root.menu = my_menu; // 将当前定义的菜单绑定到主场景的右键菜单上
上例中,my_menu 是一个新菜单对象,而 my_menu.customItems 则是菜单对象中的一个属性,它实际上是一个对象数组,从下标 0 开始依次表示定义的每一个菜单项。 ContextMenuItem 对象定义的时候有五个参数,后三个都是可选的布尔型对象。 var my_menu = new ContextMenuItem(菜单名,响应函数名,是否加分隔线,是否可用,是否显示) 对于定义的菜单,可以和 _root 绑定,也可以绑定到按钮、影片或动态文本对象上。具体的应用及操作大家可以试试。 在给大家两个例子:1.菜单项动态改变:
2.稍微复杂一些的菜单的例子:
最后提供给大家一个压缩包 ,下载去自己研究吧!