Actionscript 3 尽管没有编译器/输出错误,Flash CS6按钮仍不工作
我正在使用FlashCS6,AS3为我的项目创建按钮。下面是我的代码:Actionscript 3 尽管没有编译器/输出错误,Flash CS6按钮仍不工作,actionscript-3,button,flash-cs6,Actionscript 3,Button,Flash Cs6,我正在使用FlashCS6,AS3为我的项目创建按钮。下面是我的代码: Intro_btn.addEventListener(MouseEvent.MOUSE_DOWN, Intro_func); function Intro_func(event:MouseEvent):void { gotoAndStop("Intro"); } 在“输出和编译器”面板上运行时,不会出现错误,在通过调试器运行时也不会出现错误。另外,我对其他五个按钮使用了完全相同的代码,它们工作起来没有问题。有人能告
Intro_btn.addEventListener(MouseEvent.MOUSE_DOWN, Intro_func);
function Intro_func(event:MouseEvent):void {
gotoAndStop("Intro");
}
在“输出和编译器”面板上运行时,不会出现错误,在通过调试器运行时也不会出现错误。另外,我对其他五个按钮使用了完全相同的代码,它们工作起来没有问题。有人能告诉我我的代码出了什么问题吗?我需要知道更多关于您的代码以及您正在使用的按钮类型的信息,但是我会尝试以下步骤: 1.-从组件检查器添加按钮组件,设置其实例名称,并将相同的功能添加到单击事件:
newButton.addEventListener(MouseEvent.CLICK, Intro_func);
function Intro_func(event:MouseEvent):void {
trace("function executed");
gotoAndStop("Intro");
}
2.-运行应用程序并测试是否使用此新按钮执行操作。如果这个测试通过,那么你的问题是你的按钮
在按钮上选中此选项:
- 检查按钮的基类(确保是MovieClip或button类)
- 检查您的按钮是否已启用/禁用
- 检查您的按钮或其子按钮是否已启用mouseEnabled并将mouseChildren设置为 对
- 检查按钮顶部是否没有其他对象,无论是在artboard中还是在运行时通过代码添加
- 最后,我建议您将useHandCursor设置为true;当您移动到按钮上方时,这将取代指向手的鼠标指针箭头(这只是为了测试您的按钮是否实际与鼠标交互)
希望这能有所帮助。很抱歉延迟,但我找到了您的解决方案,比您想象的要简单:您的帧延迟了 您的简介btn脚本位于第10帧,但是在第1帧中,您告诉它转到第9帧(“二胡”帧标签),因此设置事件侦听器的操作永远不会被调用 还要记住以下几点: 对象仅在其帧生命周期内存在,如果您有第5帧到第10帧的对象,则它将仅存在于该帧中,因此移动到前一帧或后一帧(例如第4帧和第11帧)将在内存中删除该对象及其关联动作(英语: 您将按钮放置在第10帧中,并添加了其鼠标向下侦听器。但是,如果返回到第0帧,由于按钮在此帧中不存在,它将与其侦听器一起从内存中删除,因此,如果从第0帧转到与第10帧不同的任何其他帧,您的按钮将永远不会关联其侦听器 因此,我的建议是: 1.-将函数添加到第0帧:
function Intro_func(event:MouseEvent):void {
trace("function executed");
gotoAndStop("Intro");
}
2.-创建一个新层。在该层中,在您的Intro_btn所在的相同位置(第10帧)添加一个关键帧,并用空帧(无关键帧)填充该层时间线的其余部分,最后在同一层中,在第10帧中添加您的listener Intro_btn.addEventListener。这样,动作可用于第10帧的每个子提示帧
希望这能解决您的问题。可能是任何问题。您是否确实有标签为
Intro
的框架?是否明确执行了此代码(附加了事件侦听器)?你的按钮上方是否绝对没有任何东西(即使它是完全透明的)?是的,我肯定有一个标签为Intro
的框架。我将该层移到了第二个顶部(最顶层是我的actionscript层),所以这不应该是个问题。尝试通过添加跟踪(“某物”)来验证是否执行了Intro_func
函数
并尝试使用gotoAndPlay(“Intro”)代码>。我两个都试过了。任何一个都不会发生任何变化。我将单击按钮,不会出现错误,但不会出现跟踪语句,帧也不会更改。我的按钮基类肯定是button。这是一个简单的按钮,所以当我将mousechildren
设置为true时,我得到了编译器错误1009。呃…我不知道如何检查我的按钮是启用还是禁用,但我没有更改按钮的默认设置。我的按钮位于第二层(最高层是AS3),上面没有按钮。据我所知,没有在运行时添加代码。我还尝试了useHandCursor
方法,每当鼠标指针悬停在按钮上时,我都会得到一个鼠标。谢谢你迄今为止的帮助!:)下面是一个Dropbox文件夹的链接,其中包含我的项目,以备不时之需:感谢您抽出时间回复!然而,遗憾的是,它没有真正起作用,也没有出现错误。我在第1帧中添加了代码,然后在actionscript层的正下方创建了一个层,将其第10帧转换为关键帧,并添加了Intro_btn.addEventListener(MouseEvent.CLICK,Intro_func)代码>。我做错什么了吗?