频道直达 - 专题 - 新闻 - 技巧 - 组网 - 开发 - 安全 - web编程 - 图像 - 操作系统 - 数据库 - 教育 - 旅游 - 健康 - 时尚 - 驱动 - 软件 - 游戏 - 多媒体 - ERP - 讨论组

鼠标指针闪起来

来源: 作者: 出处:巧巧读书 2006-03-26 进入讨论组

  在Flash MX中制作交互性动画鼠标指针

  大家在欣赏Flash的时候,常常会在一些动画中发现,把鼠标指针放入画面内就会变成有趣的动画指针,而且形状还会随着你的移动、点击等动作发生变化。其实这种效果并不难实现,今天我们就来看一个这样的例子。

  实例效果:

  动画开始播放时,鼠标指针是一个大小不停变化的箭头;当移动到物体上的时候,显示为手形;在物体上按下鼠标左键的时候,变成“握拳”形;松开左键后再恢复为手形(如图1)。

鼠标指针闪起来(图一)
  图1 鼠标指针的三种样式

  制作步骤:

  Step 1:我们先来制作本例需要的一些按钮(Button)和影片(MovieClip)元件。首先启动Flash MX建立一个新文件,按Ctrl+F8创建一个名为“物体一”按钮(Button)元件,由于按钮并不是本例重点,所以样式随意。同理再创建一个名为“物体二”的影片(MovieClip)元件(注:这里之所以制作两种不同的元件,是为了后面介绍交互性动态光标的不同用法)。

  再创建一个名为“箭头”的影片元件,制作出大小不断变化的箭头,制作过程比较简单,这里就不多说了。

  Step 2:按Ctrl+F8创建一个名为“动画指针”的影片元件,按F6两次,插入两个关键帧,这样时间轴上就有了三个关键帧,为第二和第三帧加上Actions语句:“Stop();”。按Ctrl+L打开元件库(Library),将第一步中创建好的“箭头”影片拖放到第1帧中,在第2帧中绘制一个“手形”标志,在第3帧中绘制“握拳”标志。单击窗口下方的Properties按钮打开属性框,分别为三帧加上帧名(Frame Lable)。在本例中,我们称第1帧为“zhengchang”、第2帧为“yidao”、第3帧为“anxia”(如图2)。

  Step 3:回到主场景中,将库中的“物体一”、“物体二”、“动画光标”都拖放到场景中。单击窗口下方的Properties按钮打开属性框,分别为三个物体加上实例名(Instance Name):Object1、Object2、dhzz;选中“物体一”影片,右击选择Actions,输入以下语句(注“//”后面的文字是语句说明,无需输入):

  on (press) {

   startDrag("_root.object1");

  }//在按钮上按下鼠标开始拖动

  on (release) {

   stopDrag();

  }//在按钮上松开鼠标停止拖动

  Step 4:利用同样的方法为“物体二”影片加上语句:

  onClipEvent (mouseDown) {

   startDrag("_root.object2");

  }//在影片上按下鼠标开始拖动

  onClipEvent (mouseUp) {

   stopDrag();

  }//在影片上松开鼠标停止拖动

  大家不难看出,虽然都是拖动,但由于对象的属性不同,所以语句也有所不同。在Flash MX中利用上述的两种语句可以实现对任何物体的拖动,十分方便。

鼠标指针闪起来(图二)
  图2为关键帧定义帧名,以便于管理

  Step 5:选择主场景时间轴上的第1帧,单击右键选择“Actions”,为帧加上如下语句:

  fscommand("trapallkeys", false);

  //关闭播放器快捷键

  fscommand("showmenu", false);

  //关闭播放器右键快捷菜单

  function showzhengchang() {

   dhzz.gotoAndStop("zhengchang");

  }//定义动画正常播放时鼠标指针的样式

  function showyidao() {

   dhzz.gotoAndStop("yidao");

  }//当移动到某个物体上时鼠标指针的样式

  function showanxia() {

   dhzz.gotoAndStop("anxia");

  }//在物体上按下鼠标左键时鼠标指针的样式

  object1.onrollout = showzhengchang;

  //不在物体上显示的正常的鼠标指针样式

  object1.onRollover = showyidao;

  //当鼠标移动到“物体一”上的时候,显示定义好的指针样式

  object1.onpress = showanxia;

  //当在“物体一”上按下鼠标左键的时候,显示定义好的指针样式

  object1.onRelease = showyidao;

  //当在“物体一”上松开鼠标左键的时候,显示定义好的指针样式

  object2.onRollover = showyidao;

  object2.onrollout = showzhengchang;

  object2.onpress = showanxia;

  object2.onRelease = showyidao;

  “物体二”与“物体一”语句相似,大家要注意语句的格式。

  到这里为止,总算大功告成啦!按Ctrl+Enter欣赏一下自己的劳动成果。怎么样,感觉不错吧!如果将“手形”和“握拳”样式也全部制作成动画的话,效果会更“酷”哦!
Web: http://www.qqread.com/flash/u222930204.html进入讨论组讨论。

收藏此文】【 】【打印】【关闭
较早的文章:闪客贺新年

较新的文章:定义弹出窗口
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
巧巧读书宗旨
相关专题
讨论组问题推荐
站内各频道最新更新文档
站内最新制作专题
热门关键字导读
Photoshop教 程照片处理 照片制作 PS快捷键 抠图
计 算 机 故 障XP系统修复
艺 术 与 设 计设计 流媒体 设计欣赏 边框
计 算 机 安 全ARP
站内频道文章精选
巧巧电脑频道编辑信箱  告诉我们您想看的专题或文章