NewsRhzhi | 先创资讯 | 旧版入口
rhzhi.net
网站首页 | NewsRhzhi | 先创资讯 | 操作系统 | 工具软件 | 办公软件 | 网站设计 | 组网专栏 | 平面设计 | 多 媒 体 | 程序开发 | 硬件资料 | 聊天软件
您现在的位置: 先创网 >> 网站设计 >> Flash >> 文章正文
Flash MX 2004新特性实例学习二(3)
太平洋网站
2005-12-7文/未知
    

2、新建一个fla文件,保存在跟第一步所创建的ClipBoard.as在同一个目录下面。

  3、按“Ctrl + F8”创建一个新的Movie Clip,命名为“square”,在此Movie Clip中用矩形工具绘制一个矩形。

  4、将第三步中创建的Movie Clip“square”拖到场景中,在它的Action面板上添加如下的Action Script:

  

  on (release) { //注释1

  stopDrag();

  }

  on (press) { //注释2

  startDrag(this);

  mx.behaviors.DepthControl.bringToFront(this);

  }

  注释1:当松开鼠标的时候,停止拖动对象。

  注释2:当按下鼠标的时候,开始拖动对象,并将对象设置在最前面一层。

  5、在主场景的Time Line中增加一个Layer,命名为“Action”,在此层的Action面板上添加如下的Action Scipt:

  

  /* Copyright 2003 Macromedia, Inc. All rights reserved.

  The following is Sample Code and is subject to all restrictions

  on such code as contained in the End User License Agreement

  accompanying this product.

  */

  

  _global.$clipboard = new ClipBoard(); //注释1

  

  function menuCallback (obj, menuObj) { //注释2

  var empty:Boolean = _global.$clipboard.isEmpty(); //注释3

  menuObj.customItems = []; //注释4

  if ((obj instanceof MovieClip) && (obj != _level0)) { //注释5

  menuObj.customItems.push(cutItem); //注释6

  menuObj.customItems.push(copyItem);

  

  if (!empty) { //注释7

  menuObj.customItems.push(pasteItem);

  }

  

  } else if (obj == _level0 && !empty) { //注释8

  menuObj.customItems.push(pasteItem);

  }

  }

  

  var myMenu = new ContextMenu(menuCallback); //注释9

  //注释10

  var cutItem = new ContextMenuItem("Cut object", _global.$clipboard.handleMenuCommand);

  //注释11

  var copyItem = new ContextMenuItem("Copy object", _global.$clipboard.handleMenuCommand);

  //注释12

  var pasteItem = new ContextMenuItem("Paste object", _global.$clipboard.handleMenuCommand);

  //注释13

  MovieClip.prototype.menu = myMenu;

  注释1:这里就是刚刚所定义的ClipBoard ()的实例化,不过_global.$clipboard是系统已经有的了,所以可以直接用。

  注释2:定义一个函数menuCallback,在创建菜单的时候用。

  注释3:定义一个Boolean 类型的变量empty,它的值是调用函数_global.$clipboard.isEmpty()后所返回的值。

  注释4:将menuObj的customItems设置为空数组。

  注释5:判断obj所具有的属性。

  注释6:将“cut”和“copy”添加到菜单中。

  注释7:如果empty为假的话(也就是已经有cut或copy操作),将paste添加到菜单中。

  注释8:如果鼠标没有选定对象的话,只将paste添加到菜单中。

  注释9:实例化一个对象myMenu,其中构造函数调用了menuCallback函数。

  注释10:实例化一个对象cutItem,这是一个子菜单,显示的内容为“Cut object”。

  注释11:实例化一个对象copyItem,这是一个子菜单,显示的内容为“Copy object”。

  注释12:实例化一个对象pasteItem,这是一个子菜单,显示的内容为“Paste object”。

    注释13:将所定义的myMenu赋给系统。

  三、实际用途

  这个实例不单单为操作Flash Player的菜单提供了一种方法,也展示了怎么利用as文件来编程。了解清楚细节,对掌握Flash MX 2004的编程很有用。

打印此页 投稿与建议 返回顶部
栏 目 索 引
软件应用 SOFTWARE
Win XP | NT/2003
Win2000 | DOS/Win9x
PowerPoint | Office
Excel | Word
网络软件 | 实用软件
媒体软件 | 系统软件
常用软件 | 办公软件
聊天软件 | 网络安全
新软试用 | Vista
设计在线 DESIGN
Dreamweaver | 3DMax
Photoshop | Flash
平面设计 | 网页设计
多 媒 体 | 精品画廊
精彩专区 SPECIAL
Q Q 专区 | 热门专题
组网玩网 | 程序开发
应用集锦 |
相关文章
关于我们 - 联系方式 - 合作伙伴 - 网站大事记 - 网站地图 - 我要投稿
Copyright ©1997-2008 先创网 All Rights Reserved.
先创科技 版权所有