AS3错误:'1172:定义fl.controls:无法找到按钮。

时间:2010-01-21 22:51:30

标签: actionscript-3 button class definition

我正在尝试创建一个名为LinkBut​​ton的类,这是一个简单的类,它在点击上加载一个URL(我这样做是为了简化我的设计师向AS3的转换)。即使我正在导入按钮定义,AS文件也会出现编译错误: 1046:未找到类型或不是编译时常量:按钮。 和< strong> 1172:定义fl.controls:无法找到按钮。 我创建了一个简单的形状按钮,将其转换为'Button'类型的符号(F8)。在我的FLA文件中,我有这段代码:

import AS3classes.mouse.LinkButton;
var link1:LinkButton = new LinkButton(testLink, "http://www.example.com");

简单吧?在我的AS文件中,我导入按钮定义,声明构造函数和'linkTo'行为。这是我在AS文件中的代码:

package AS3classes.mouse
{
 import fl.controls.Button;
 import flash.events.*;
    import flash.net.*;

 public class LinkButton 
 {
  private var _pageURL:String;
  private var _button:Button;

  public function LinkButton(button, pageURL) : void
  {
   _button = button;
   _pageURL = pageURL;
   _button.addEventListener(MouseEvent.MOUSE_UP, LinkTo);
  }

  private function LinkTo(e:Event) : void
  {
   var request:URLRequest = new URLRequest(_pageURL);
  }
 }
}

当我谷歌这个时,我看到有人收到此错误,因为他们的库中没有按钮。我有一个从简单形状创建的按钮。我输入正确的定义吗?使用相同的方法在不同的脚本中导入movieClip定义没有问题。我不明白其中的区别,我很确定我不是傻瓜。

3 个答案:

答案 0 :(得分:6)

您使用了错误的按钮类型。正如你所描述的那样,你想要

flash.display.SimpleButton

fl.controls.Button是一个Button组件,而不是库中定义的按钮。合理?尝试导入flash.display.SimpleButton并将_button设置为SimpleButton。

答案 1 :(得分:6)

您需要转到“组件”窗口并将“按钮”拖到“Library”窗口。

要使用该组件,只需使用import fl.controls.Button;指令将其导入即可。 您现在可以使用“Button”及其标签等。

答案 2 :(得分:0)

马特戴尔斯 - 是对的。我刚才遇到了确切的问题。 “按钮”欺骗了我。在ctrl + f7 = components面板中,我查看了视频组并尝试了一个按钮。不能作为“按钮”。查看“用户界面”组。从那里获取“按钮”并拖入图书馆。然后fl.controls.Button和Button()工作。