您可以使用全局动作脚本函数或 MovieClip 类的方法对影片剪辑执行任务。某些 MovieClip 方法执行与同名函数相同的任务;而有些 MovieClip 方法,例如 hitTest()
和 swapDepths()
,则没有相应的函数名称。
下面的示例说明了使用方法和使用函数之间的差异。这两条语句都重制实例 my_mc
,将新剪辑命名为 newClip
,然后将它放在第 5 层。
my_mc.duplicateMovieClip("newClip", 5); duplicateMovieClip("my_mc", "newClip", 5);
当函数和方法提供相似的行为时,您可以选择其中任意一个来控制影片剪辑。这种选择取决于您的喜好以及对在动作脚本中撰写脚本的熟悉程度。无论使用函数还是方法,调用函数或方法时,必须将目标时间轴加载到 Flash Player 中。
要使用方法,可通过使用实例名称的目标路径、点和紧跟其后的方法名称和参数来调用它,如下面的语句所示:
myMovieClip.play(); parentClip.childClip.gotoAndPlay(3);
在第一条语句中,play()
移动 myMovieClip
实例中的播放头。在第二条语句中,gotoAndPlay()
将 childClip
(它是实例 parentClip
的子级实例)中的播放头发送到第 3 帧,然后继续移动播放头。
控制时间轴的全局函数有一个 target
参数,可用于指定到所要控制实例的目标路径。例如,在下面的脚本中,startDrag()
将 customCursor
实例作为目标并使该实例可拖动:
on (press) { startDrag("customCursor"); }
以下函数以影片剪辑为操作对象:loadMovie()
、unloadMovie()
、loadVariables()
、setProperty()
、startDrag()
、duplicateMovieClip()
和 removeMovieClip()
。要使用这些函数,必须为函数的 target
参数输入一个目标路径以指示函数的目标。
下列 MovieClip 方法可以控制影片剪辑或加载的级别,它们没有等同的函数:
MovieClip.attachMovie(), MovieClip.createEmptyMovieClip(),
MovieClip.createTextField(), MovieClip.getBounds(), MovieClip.getBytesLoaded(), MovieClip.getBytesTotal(), MovieClip.getDepth(), MovieClip.getInstanceAtDepth(), MovieClip.getNextHighestDepth(), MovieClip.globalToLocal(),
MovieClip.localToGlobal(), MovieClip.hitTest(),
MovieClip.setMask(), MovieClip.swapDepths().