快速业务通道

用Flash MX制作舞动的龙

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-14

  在这个实例中你可以看到一条七彩龙在你的指挥下栩栩如生地舞动。其实动画的实现原理很简单:通过设置不同的Movie Clip,而每一个Movie Clip的Action都设置为跟随前一个Movie Clip做运动的指令。也就是:A跟随鼠标,B跟随A,C跟随B,D跟随C...以此类推。下面我们使用Flash mx来制作本实例,大家可以通过本实例来熟悉和掌握MX的界面以及一些与flash5的不同之处。文章末尾提供.fla文件下载学习。
?
  步骤 1

  首先打开MX新建一个影片,选择modifyàdocument…命令设置影片的一些属性,先将影片播放速率调整为 50,影片背景被黑色,大小任意,如图1所示:

图 1   然后分别建立7 个Movie Clip组件,依次命名为"spinner"、"spinner2"、"spinner3"、"spinner4"、"spinner5"、"spinner6"、"spinner7",每一个组件内分别画一个正圆,填充上不同的颜色,在正圆上一次写上"e"、"江"、"春"、"水"、"向"、"东"、"流"七个字,我们要把spinner组件作为龙头,所以用矩形工具给圆上画上龙的两个角,如图2所示:

图 2   七个做为龙的身体的movieclip做好后,回到主场景中,分别给七个movieclip建立不同的图层,分别命名为"e"、"江"、"春"、"水"、"向"、"东"、"流",如图3所示:

图 3   然后分别将七个movieclip放到相应的图层中去,并且按顺序排列好,如图4所示:

图 4   步骤 2

  对主场景上的 7 个Movie Clip分别执行windowsàproperties命令,调出properties面板,分别设置它们的Instance Name 为"spin1"、"spin2"、"spin3"、"spin4"、"spin5"、"spin6"、"spin7" 如图5所示:

图 5   步骤 3

  新建一个Movie Clip组件,命名为"drg1",在"drg1"的编辑区中不要放置任何对象,让它是一个空白内容的Movie Clip即可。

  回到主场景中,插入一个新的图层,命名为"Drag1",将"drg1"组件放置在场景中,执行 windows/properties命令调出properties属性面板, 设置其Instance Name为"drg1",如图6所示:

图 6   选择图层"drag1"的第一帧,然后调出actions面板,设置此帧的action 如图7所示:

图 7   也就是要对drg1对象进行拖动。   步骤 4

  再建立一个Movie Clip组件,命名为"action",在"action"的编辑区内一样不要放置任何对象,让它是一个空白内容的Movie Clip即可,这个movieclip主要用来设置进行控制的action。

  在组件"action"的第一帧上设置如下的action:

  Set Variable: "thisX" = GetProperty ( "/drg1", _x )
  //取得组件drg1的x坐标
  Set Variable: "thisY" = GetProperty ( "/drg1", _y )
  //取得组件drg1的y坐标
  Set Variable: "spX" = GetProperty ( "/spin1", _x )
  //取得龙头的x坐标
  Set Variable: "spY" = GetProperty ( "/spin1", _y )
  //取得龙头的y坐标
  Set Variable: "difX" = thisX - spX
  //求得drg1与龙头的x坐标差
  Set Variable: "difY" = thisY - spY
  //求得drg1与龙头的y坐标差,因为我们拖动的是drg1,所以其实求的是鼠标与龙头的坐标差
  Set Variable: "stepX" = 1
  //设置x方向的增量为1
  Set Variable: "stepY" = 1
  //设置y方向的增量为1
  Set Variable: "xStp" = difX / 10
  //求得鼠标与龙头的x坐标差的十分之一
  Set Variable: "yStp" = difY / 10
  //求得鼠标与龙头的y坐标差的十分之一
  Set Property ("/spin1", X Position) = spX + xStp
  //设置龙头的新位置的x坐标为:原来的x坐标与差值的十分之一 的和
  Set Property ("/spin1", Y Position) = spY + yStp
  //设置龙头的新位置的y坐标为:原来的x坐标与差值的十分之一 的和

  这里为什么

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号