我很抱歉,如果之前已经完全解决了这个问题,但我已经阅读了其他几个主题但仍然无法让我的文件工作。
我的动作代码位于此消息的底部。我是使用Adobe网站上的说明创建的:http://help.adobe.com/en_US/ActionScript/3.0_ProgrammingAS3/WS5b3ccc516d4fbf351e63e3d118a9b90204-7fd7.html
我相信我的所有对象都设置为正确的符号类型(按钮),并且我的所有实例都被恰当地命名(请参见此处的截图:www.footprintsfamilyphoto.com/wp-content/themes/Footprints/images /flash_buttonissue.jpg)
动作脚本在这里。如果您有任何建议,请告诉我! (注意:我对Flash很新):
stop ();
function babieschildren(event:MouseEvent):void
{
trace("babies children method was called!!!");
var targetURL:URLRequest = new URLRequest("http://www.footprintsfamilyphoto.com/portfolio/babies-children");
navigateToURL(targetURL, "_self");
}
bc_btn1.addEventListener(MouseEvent.CLICK, babieschildren);
bc_btn2.addEventListener(MouseEvent.CLICK, babieschildren);
function families(event:MouseEvent):void
{
trace("families method was called!!!");
var targetURL:URLRequest = new URLRequest("http://www.footprintsfamilyphoto.com/portfolio/families");
navigateToURL(targetURL, "_self");
}
f_btn1.addEventListener(MouseEvent.CLICK, families);
f_btn2.addEventListener(MouseEvent.CLICK, families);
function couplesweddings(event:MouseEvent):void
{
trace("couples weddings method was called!!!");
var targetURL:URLRequest = new URLRequest("http://www.footprintsfamilyphoto.com/portfolio/couples-weddings");
navigateToURL(targetURL, "_self");
}
cw_btn1.addEventListener(MouseEvent.CLICK, couplesweddings);
cw_btn2.addEventListener(MouseEvent.CLICK, couplesweddings);
Flash文件的附加说明 - 文件是一个约5秒的动画,应该在最后一帧停止。最后一帧包含6个按钮,用于将用户路由到网站的3个不同页面。请参阅上面的屏幕截图图片链接。
好吧,我尝试了更多的东西,我将“家庭”功能改为“fams”,因为出于某种原因,它告诉我它是一个重复的功能。这解决了循环问题(文件循环而不是停在这些按钮所在的框架上,我收到有关系列功能的编译错误 - “重复功能定义”和“不兼容的覆盖” - 我相当自信它是不是重复的函数,因为这是我在整个文件中唯一的动作脚本......)。
现在它停在右边框架上,编译错误似乎得到解决,但是当我点击按钮时,我没有在输出框中看到trace语句。我在测试电影时输出框中出现初始错误,它显示为:
TypeError:错误#1009:无法访问null的属性或方法 对象参考。在Portfolio_fla :: MainTimeline / frame133()
任何人都可以告诉我这意味着什么吗?
我已经检查并重新检查了所有按钮名称(和实例名称),它们都在那里,与动作脚本(第133帧)在同一帧中,因此不应该导致1009。 / p>
还要逐个删除每个函数和addEventListener并测试电影,但在所有3个案例中都存在1009错误。如果我删除除“stop();”之外的所有代码,我不会收到1009错误。并测试电影。
注意:我在这里打开了一个关于1009错误的新的更具体的问题: stackoverflow.com/questions/2948119/flash-buttons-dont-work-typeerror-error-1009-cannot-access-a-property-or-met
答案 0 :(得分:1)
你的代码看起来很好。在方法中添加trace语句以确保它们确实被调用。还要检查是否有任何弹出窗口拦截器;当你在没有第二个参数的情况下调用navigateToURL时,Flash将尝试创建一个新窗口来打开URL。不幸的是,对于我们的开发人员来说(幸运的是对于用户而言),大多数弹出窗口拦截器都会阻止这种情况发生。发生。将第二个参数添加到您的调用中,看它是否有效。
navigateToURL(targetURL, "_self");
请注意,这会导致在当前窗口/标签中加载新网址,从而有效地替换包含SWF的网页