我有一堆菜单窗口放在单独的框架上(例如,主菜单在第 1 帧,选项菜单在第 2 帧,章节菜单在第 3 帧,字符菜单在第 4 帧等)。在每个菜单上都有一堆文本链接(电影剪辑实例),单击时会转到另一个菜单页面。其中一些相同的链接(相同的实例)在多个页面上重复,因为它们执行相同的功能。例如,单击“backToMain”实例将返回到第 1 帧,即主菜单,无论单击哪个页面。
有谁知道我如何构建这个?到目前为止,我已经尝试为每个链接添加侦听器,但是由于许多链接位于除第 1 帧之外的不同帧上,因此我无法向它们添加侦听器,直到我告诉 actionscript 翻转到该帧,我没有不想做。我想在开始时一次性向所有链接全局添加侦听器:
var linksArray:Array = [newStory, continueStory, options, characters, backToMain, backToOptions, ... etc];
for each (var link:MovieClip in linksArray) {
link.addEventListener(MouseEvent.CLICK, onClick);
}
function onClick(e:MouseEvent):void
{
if (e.target.name == "newStoryLink") {
delegate.beginStory();
} else if (e.target.name == "continueStory") {
// do something else
} else if (e.target.name == "chapters") {
// do something else
} else if (e.target.name == "options") {
// do something else
}
上面的代码不起作用,因为如前所述,我无法将侦听器添加到其他帧上存在的实例。该代码基本上告诉 AS 在单击任何链接时要做什么,无论我在哪个框架上或单击该链接的哪个实例。谢谢。