大雀软件园

首页 软件下载 安卓市场 苹果市场 电脑游戏 安卓游戏 文章资讯 驱动下载
技术开发 网页设计 图形图象 数据库 网络媒体 网络安全 站长CLUB 操作系统 媒体动画 安卓相关
当前位置: 首页 -> 网络媒体 -> FLASH -> MX2004--AS2.0 新特性实例教程(六)

MX2004--AS2.0 新特性实例教程(六)

时间: 2021-07-31 作者:daque

18.contextmenu class和contextmenuitem class

  flash毕竟扶助右键菜单了,有了这两个类,用户不妨得心应手的定制本人的flash右键菜单。  对于这个功效,我是垂涎以久,由于这表示着纯flash站不妨经过它举行简单的导航,flash游戏也算是有了最为简单的功效菜单,总之,对如许的好货色,我要多费一点吐沫。

  谈天休提,先来看一个例子:

var my_cm = new contextmenu();my_cm.hidebuiltinitems();my_cm.customitems.push( new contextmenuitem("sucy",func_1) );my_cm.customitems.push( new contextmenuitem("alien",func_2) );my_cm.customitems.push( new contextmenuitem("jinni",func_3) );my_cm.customitems.sort();

function func_1() { trace(" called sucy!") }function func_2() { trace(" called alien! ") }function func_3() { trace(" called jinni! ") }

_root.menu = my_cm;

  尝试,点击鼠标右键,你看到了什么?嘿嘿,点击alien,jinni或sucy就不妨挪用func_1,func_2和func_3。

  本来,增添右键菜单的办法格外大略:  1.创造contextmenu菜单东西。  2.创造contextmenuitem菜单项东西,并增添到contextmenu东西中。  3.为每个菜单项定制处置因变量。  4.运用菜单东西到mc,button或textfield。  本领为:moiveclip/button/textfield instancename.menu=contextmenu instacename;  比方,my_btn.menu=my_cm;

  再回顾看看这个例子的代码,对于右键菜单的中心局部的你仍旧领会得差不离了,她们是:  a)new contextmenu();  创造一个contextmenu东西。  大略的说,它是一个容器,用来艳服用户设置的菜单项。  除去像本例中的办法大略的创造外,还不妨在创造的同声减少一个事变,这个事变将在用户点击右键展示菜单的功夫爆发。  例:

 var my_cm = new contextmenu(rightclick);  function rightclick() {(" right clicked! ")}  _root.menu = my_cm;

  点击鼠标右键,输入" right clicked! ";  本来到了这,你仍旧领会怎样来运用右键事变了,可惜的是,不管怎样,菜单都是会弹出来,以是即使你想运用与菜单无干的右键功效,仍旧会特殊的不爽。 :(

  b)contextmenu.hidebuiltinitems();  contextmenu东西的本领。  功效从名字就不妨看出来了,湮没内建菜单项,比方copy,zoom in之类,固然,settings和版权消息是不会湮没的。  其余,你要还要提防的是,自设置的菜单项不许起诸如copy,zoom in等名字,要不她们不会起效率。

  c)contextmenu.cutstomitems  contextmenu东西的属性。  它是一个数组,保存着一切的用户设置的菜单项,由于菜单项自己是东西,以是这个数组的每一个元素都是东西。  更妙的是,你不妨用数组的操纵本领来操纵他,这对你来说确定不生疏。  你不妨用push()本领来项菜单中增添菜单项,并用cutstomitems[i]的办法考察它。  而其余数组的本领你也不妨善加运用:  比方像本例中的办法,你可大肆地增添菜单项,而后对cutstomitems运用sort()本领。  结果展示的菜单即是按假名序陈设的。  其余,你也不妨经过数组操纵动静的变换菜单项的实质。

  d)new contextmenuitem(caption,func)  创造一个contextmenuitem东西。  caption: 菜单项的称呼(提防方才提到过的,不要和内建菜单同名)。  caption也是contextmenuitem的属性,含意沟通。  func: 菜单项被点击后对应的处置因变量的称呼。  其余几个contextmenuitem东西的属性也不妨在创造东西的功夫动作参数传播。  (1)enabled: 菜单项能否可用。(不行用为灰色)默许为true。  (2)separatorbefore:菜单项底下能否会展示分割线(用来菜单分门别类)。默许为false。  (3)visible: 菜单项能否看来。默许为true。  完备的结构因变量为:new contextmenuitem(caption,func,separatorbefore,enabled,visible);  例:

  my_mc = new contextmenuitem("item",func_item,true,false,true);

  该本领创造了一个名为item的菜单项,在它底下将展示菜单分割线,该名目看来,但居于不行用状况,处置因变量为func_item()。

  对于创造一个右键菜单最基础的货色你仍旧控制了,底下来看少许特殊的货色。  e)contextmenuitem.copy()  contextmenuitem东西的本领。  归来一个菜单项东西的正片,归来值仍为contextmenuitem东西。

  f)contextmenuitem.onselect  contextmenuitem东西的事变。  当菜单项被选中时爆发。该事变的处置因变量本质上即是创造东西时的func。  然而即使在创造东西后,对onselect事变拟订新的处置因变量,则func不会奏效。

  g)contextmenu.copy()  contextmenu东西的本领,归来一个contextmenu东西的正片。归来值仍是contextmenu东西。

  h)contextmenu.onselect  contextmenu东西的事变。  在用户挪用菜单,且菜单展示之前爆发。它不妨让你按照鼠标所处场所来动静的创造菜单。  该事变的处置因变量不妨有两个参数:  my_cm.onselect = function (item:object, item_menu:contextmenu)  item: 当用户点击鼠标时,坐落鼠标南针下方的东西范例,不妨是movieclip,按钮,文本域。  这让你不妨实行一致于操纵体例的右键菜单的功效,即在各别的对像上头点击右键会展示各别的菜单。  你不妨用instanceof来决定鼠标南针所指的东西的典型。

  item_menu:暂时菜单对应的菜单项东西。  例:(这是扶助中的例子)

my_cm = new contextmenu();menuhandler = function (obj:object, menu:contextmenu) {if(obj instanceof movieclip) {trace("movie clip: " + obj);}if(obj instanceof textfield) {trace("text field: " + obj);}if(obj instanceof button) {trace("button: " + obj);}}my_cm.onselect = menuhandler;

_root.menu = my_cm;

  你不妨在场景中创造几个mc,button和textfield,并在那些场所点击鼠标右键,看看有什么各别。

  g)contextmenu.builtinitems  contextmenu东西的属性。  它自己是一个东西,包括了以次几个布尔典型的属性,辨别对应flash player的内建菜单项:  save, zoom, quality, play, loop, rewind, forward_back, print。  树立相映的属性为false会将其从菜单项中移除。  例:

my_cm = new contextmenu(); my_cm.bulidinitems.zoom = false; _root.menu = my_cm;

  尝试,点击右键后,菜单中将不会展示zoom in/zoom out 选项。  即使想樊篱一切的内建菜单项,请用contextmenu.hidebuiltinitems()。

热门阅览

最新排行

Copyright © 2019-2021 大雀软件园(www.daque.cn) All Rights Reserved.