我正在尝试创建一个名为LinkButton的类,这是一个简单的类,它在点击上加载一个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定义没有问题。我不明白其中的区别,我很确定我不是傻瓜。
答案 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()工作。