快速业务通道

ActionScript教程(55)--控制时间轴

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

  在创建交互动画时,你可以使用Flash提供的动作或方法来控制时间轴。可以使用某些动作(Actions)和MovieClip对象的方法(Methods)指向一个电影剪辑或载入某层级的动画,或对它们执行一些任务。例如,setProperty动作可以设置时间轴的某种属性(如_width)为某个值(如100),某些MovieClip对象的方法可以复制指向时间轴的所有动作的功能,还有一些完成其它任务的方法,如hitTest(碰撞测试)和swapDepths(交换深度)等等。不管你使用动作还是方法,当动作或方法被调用时,目标时间轴必须已经载入Flash播放器中。

  关于方法与动作
  使用方法来控制时间轴,采用的是点语法。你可以通过指定指向实例名的目标路径,接着是一个点,然后指定方法名和参数的方式来调用一种方法。 如下面的语句: myMovieClip.play(); parentClip.childClip.gotoAndPlay(3);  在第一个语句中,play方法使实例myMovieClip播放。在第二个语句中,gotoAndPlay方法把childClip(实例parentClip的一个子剪辑) 电影剪辑的播放头移到第3帧播放。
  使用动作控制时间轴,要用一个Target(目标)参数来指定目标路径。例如,在下面的脚本中,startDrag动作指向 customCursor 实例,使它可以拖动。
on(press){ startDrag("customCursor"); }  如果改用方法,则可以写成:
customCursor.startDrag();  使用MovieClip对象的方法书写的语句更为简短,因为它们不需要tellTarget动作。tellTarget动作与ECMA-262规范不兼容,所以不鼓励使用。
  例如,使用MovieClip对象的方法指令电影剪辑myMovieClip开始播放,你可以使用下面的代码:
myMovieClip.play();如果使用tellTarget动作,就要这样书写:
tellTarget ("myMovieClip") { play(); }  两种方法的效果相同,但前者更为简洁。
这里所列的动作可以指向电影剪辑:loadMovie、unloadMovie、setProperty、 startDrag、 duplicateMovieClip和removeMovieClip。要使用这些动作,你必须在动作的Target(目标)参数中输入目标路径,指明动作的受体。在这些动作中,有些可以指向电影剪辑或层级,有些则只能指向电影剪辑。
  下面的MovieClip对象的方法可以控制电影剪辑或载入某层级的动画,且没有等价的动作:attachMovie、getBounds、 getBytesLoaded、getBytesTotal、globalToLocal、localToGlobal、 hitTest和swapDepths。
当一种动作和一种方法均能提供同样的功能时,你可以选择其中一种来控制电影剪辑,这取决于你的喜好和使用ActionScript编写脚本的熟悉程度。

  使用多种方法或动作指向时间轴



  使用多种方法或动作指向时间轴

  你可以使用with 动作对目标电影剪辑编址一次,然后对该剪辑执行一系列动作。 with动作对所有ActionScript对象(如Array、Color和Sound)有效,而不是仅仅对电影剪辑有效。tellTarget动作类似于 with动作。 然而,最好不要使用tellTarget动作,因为它并非对所有的ActionScript对象有效,且与ECMA-262不兼容。
with动作使用对象作为参数。指定的对象被添加到当前目标路径的末尾。嵌套在 with动作内的所有动作在新的目标路径或范围内执行。例如,在下列主时间轴的脚本中, with动作传递对象donut.hole,以改变hole的属性:
with (donut.hole){ _alpha = 20; _xscale = 150; _yscale = 150; }  就好像从hole实例的时间轴中调用with动作内的语句一样。
  在下面的例子中,使用with动作和MovieClip对象的方法来发布几个指令:
with (myMovieClip) { _x -= 10; _y += 10; gotoAndPlay(3); }
  分配动作或方法


  分配动作或方法

  可以把动作和方法分配给按钮、时间轴中的帧或电影剪辑实例。
要把动

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号