当前位置: 首页 > 图文教程 > Flash动画 > Flash动画制作 > FLASH MX 2004右键菜单秀

Flash动画制作
Flash5键盘鼠标应用(二)
Freehand和Flash的结合应用(4)
Flash5 有声音的三眼狼(二)
Freehand和Flash的结合应用(7)
Freehand和Flash的结合应用(10)
Freehand和Flash的结合应用(12)
Flash5 位移操作(二)
Flash5制作水波倒影效果(二)
Flash5任意两点间随机画线(三)
Flash 神奇遮罩之原理篇(3)
Flash 神奇遮罩之动态篇
Flash 神奇遮罩之图片篇(1)
Flash MX 视频导入功能详解(5)
利用Flash MX模板制作XML动态菜单(1)
用动作脚本动态创建和控制文本框 (6)
FW MX和Flash MX的亲密合作(2)
FW MX和Flash MX的亲密合作(5)
Flash中音量和左右声道平衡的控制(2)
Flash MX的AS绘图和时间控制 下
Flash5 有声音的三眼狼(四)

Flash动画制作 中的 FLASH MX 2004右键菜单秀


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-22   浏览: 93 ::
收藏到网摘: n/a

在FLASH MX的时代,大家就希望能在自己的作品中放入自定义右键菜单,现在FLASH升级到了2004,终于可以放上自己的右键菜单秀一下了:P(这对于游戏编写者——尤其是RPG游戏编写者来说,手中无疑又多了把利剑)

  在2004中,主要使用ContextMenu类与ContextMenuItem类来对右键菜单进行控制。ContextMenu对象可以附加到特定的按钮(使用Button类的menu属性来实现)、影片剪辑(使用MovieClip类的menu属性来实现)或文本字段(使用TextField类的menu属性来实现)上,也可以附加到整个影片级别。

   Player 共有三种类型的上下文菜单:即标准菜单(在Flash Player 中右击时出现)、编辑菜单(在可选择或可编辑的文本字段上右击时出现)和错误菜单(当SWF文件未能加载到Flash Player中时出现)。只有标准菜单和编辑菜单才能使用ContextMenu类进行修改。自定义菜单项始终出现在Flash Player上下文菜单的顶部,并位于所有可见内置菜单项之上;内置菜单项和自定义菜单项之间由一个分隔条加以分隔。一个上下文菜单包含的自定义菜单项不能超过 15 个。


  好了,不多说了,首先我们先来看一下在Flash Player中默认的右击菜单:在主场景中只有一帧的情况下(图1)


  在主场景中有多帧的情况下(图2)


  我们可以看到,在多帧的时候,比单帧时多了[“播放”、“循环”]、[“后退”、“快进”、“返回”]这两组共5项子菜单项。

  (以下教程均以后者——主场景内有多帧的源文件为例进行讲解)

  在右键菜单中,我们可以看到七组共13项菜单项,除“设置...”与“关于...”无法隐藏外,菜单组均可用AS来实现隐藏。

  ★隐藏右击菜单

  我们先在主场景的第一帧中加入如下AS代码:


//===自定义右击菜单===AIYI2003 (2004.01.03)
myMenu = new ContextMenu();
myMenu.hideBuiltInItems();
_root.menu = myMenu;
//***自定义右击菜单***代码结束



  此AS代码段共五行,前面加“//”的代码为注解,并不执行。
  第2行代码:myMenu = new ContextMenu()
  用来创建新的 ContextMenu 对象。即创建自己的右键菜单——“myMenu”。
  第3行代码:myMenu.hideBuiltInItems()
  hideBuiltInItems()可以隐藏指定ContextMenu对象中的所有内置菜单项(“设置”与“关于”除外)。
  加入这行代码,即把“放大”、“品质”、“播放”、“后退”、“打印”等菜单项全部隐藏。
  第4行代码:_root.menu = myMenu
  将主场景中的右键菜单设置成上面自定义的myMenu菜单。

  输出为.swf文件测试(见图3)


  我们可以看到,右击菜单中,除了不可以隐藏的“设置”与“关于”项之外,其它的菜单项都已被隐藏。

  ★只显示其中的其一项菜单(见图4)


  比如只想在右击菜单中显示“品质”这个选项菜单,把“放大”、“播放”等菜单项去掉,我们可以在上面的AS语句中加入一行,变成:

//===自定义右键菜单===AIYI2003 (2004.01.03)
myMenu = new ContextMenu();
myMenu.hideBuiltInItems();
myMenu.builtInItems.quality = true
_root.menu = myMenu;
//***自定义右键菜单***代码结束

  ★只删除其中的某一项菜单(见图5)

      


  比如只想去掉“缩放”菜单组,我们只要在第1帧中加入:

//===自定义右键菜单===AIYI2003 (2004.01.03)
myMenu = new ContextMenu();
myMenu.builtInItems.zoom = false
_root.menu = myMenu;
//***自定义右键菜单***代码结束
<