1

所以我有一个电影剪辑形式的动画按钮,我希望能够将其用作链接。影片剪辑是使用我在网上找到的脚本在鼠标悬停和鼠标悬停时进行动画处理的,并且效果很好。但是,当我尝试创建一个简单的 actionscript 命令以使影片剪辑也充当链接时,我收到以下错误:

TypeError:错误 #1009:无法访问空对象引用的属性或方法。在 PheV3_fla::MainTimeline/frame185()

我在网上找到的所有教程都使用“按钮”类型进行链接,而不是电影剪辑,这似乎工作正常,但我需要它作为动画的电影剪辑。这是我正在使用的代码:

import flash.events.MouseEvent
import flash.net.URLRequest

MixesButtonTop.addEventListener(MouseEvent.CLICK, fl_ClickToGoToWebPage_2);

function fl_ClickToGoToWebPage_2(event:MouseEvent):void
{
    navigateToURL(new URLRequest("http://www.adobe.com"), "_blank");
}

我是否需要引用影片剪辑按钮本身内部的符号之一或其他什么?我对这一切都很陌生,所以如果我错过了什么,请告诉我,非常感谢您的帮助!

4

2 回答 2

0

You should give your button an instance name under the properties tab, and then reference to it by that name, and not by how it is called in the library. To do that you need

  1. Select the button instance on the Stage.
  2. Select Window > Properties, and enter a name in the Instance Name box.

So for example you set instance name MixesButtonTop. Then you should declare a variable in your code like this:

var buttonMC:MovieClip = MixesButtonTop;

And that should fix your problem.

于 2013-07-15T08:36:48.000 回答
0

如果您的按钮存在于时间轴中,您需要给它一个实例名称(参见 jfgi 的响应)。通过此实例名称,您可以在代码中引用它。没有必要将其分配给变量(与 jfgi 编写的相反) - 但是,如果您使用 Flash IDE,将其分配给变量并添加类型 (:MovieClip) 将帮助您进行代码提示,否则IDE 无法确定符号的类型。注意:库中符号的名称是“类名”(链接)。你不能使用类名来命令和类的实例。您需要将它分配给一个变量/在属性窗口中给它一个实例名称。如果您手动将库中的符号放置到舞台上并且想要控制它,则“总是”需要添加实例名称。('总是'...

我不得不发布这个作为答案,评论太长了。

于 2013-07-15T16:16:08.200 回答