原创教程,转载请注明出处:网页教学网
鼠标右键菜单一直都是大家比较热门的话题,从 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.稍微复杂一些的菜单的例子:
最后提供给大家一个压缩包,下载去自己研究吧!