这是我第一次使用ActionScript编写网站代码。到目前为止,一切都进展顺利,我在Photoshop中设计了网站,并导入到Flash CS5。然后我清理了所有内容,并开始使用按钮向各个页面添加导航。
网站构建方式非常简单,有五个主要页面,它们通过静态导航栏上的按钮连接(第一页,主页,没有相应的按钮)。然后有九个子页面,每个子页面包含有关游戏角色的信息,并连接到“角色”图层/ MovieClip中的相应按钮。我的四个菜单按钮(故事,世界,角色,附加功能)都可以正确导航而不会出现问题。
问题出现了,因为在我的角色页面(一个影片剪辑)中有九个按钮,每个按钮链接到不同的页面。这些按钮应该将时间轴带到指定的框架,但是当单击按钮时没有任何反应。我花了几个小时寻找解决方案,但没有用,我觉得答案很简单。认为你可以帮助我吗?
这是我到目前为止所尝试的内容:
替换
gotoAndStop("gowang", "Scene 1");
在Gowang字符按钮功能中输入:
MovieClip(root).gotoAndStop("gowang");
但是这产生了相同的结果,按钮什么都不做。
我也尝试在Character页面MovieClip中放置字符按钮监听器和函数,但这给了我这个错误:
ArgumentError:错误#2108:未找到场景场景1
在flash.display :: MovieClip / gotoAndStop()
在Gowang_fla :: Top_31 / clickGowang()
我花了很多时间来解决这个问题,如果有人可以提供帮助我真的很感激。
〜这是.FLA:http://mindsparkdesigns.com/files/WebsiteFla.zip
〜这是代码:
stop();
//Fade Effect
import fl.transitions.Tween;
import fl.transitions.easing.*;
var homeTween:Tween = new Tween(home_mc, "alpha", Regular.easeOut , 0, 1, 2, true);
//Buttons
story_btn.addEventListener(MouseEvent.CLICK, clickStory);
world_btn.addEventListener(MouseEvent.CLICK, clickWorld);
characters_btn.addEventListener(MouseEvent.CLICK, clickCharacters);
extras_btn.addEventListener(MouseEvent.CLICK, clickExtras);
home_mc.storyH_btn.addEventListener(MouseEvent.CLICK, clickStoryH);
home_mc.worldH_btn.addEventListener(MouseEvent.CLICK, clickWorldH);
home_mc.charactersH_btn.addEventListener(MouseEvent.CLICK, clickCharactersH);
home_mc.extrasH_btn.addEventListener(MouseEvent.CLICK, clickExtrasH);
top_mc.gowang_btn.addEventListener(MouseEvent.CLICK, clickGowang);
top_mc.ayame_btn.addEventListener(MouseEvent.CLICK, clickAyame);
top_mc.evora_btn.addEventListener(MouseEvent.CLICK, clickEvora);
top_mc.rogin_btn.addEventListener(MouseEvent.CLICK, clickRogin);
top_mc.toraz_btn.addEventListener(MouseEvent.CLICK, clickToraz);
top_mc.naomi_btn.addEventListener(MouseEvent.CLICK, clickNaomi);
top_mc.rummy_btn.addEventListener(MouseEvent.CLICK, clickRummy);
top_mc.teeth_btn.addEventListener(MouseEvent.CLICK, clickTeeth);
top_mc.sichan_btn.addEventListener(MouseEvent.CLICK, clickSichan);
extras_mc.blog_btn.addEventListener(MouseEvent.CLICK, clickBlog);
function clickBlog(event:MouseEvent):void
{
navigateToURL(new URLRequest("http://www.gowangadventures.blogspot.com"), "_blank");
}
function clickGowang(evtObj:MouseEvent){
gotoAndStop("gowang", "Scene 1");
}
function clickAyame(evtObj:MouseEvent){
gotoAndStop("ayame", "Scene 1");
}
function clickEvora(evtObj:MouseEvent){
gotoAndStop("evora", "Scene 1");
}
function clickRogin(evtObj:MouseEvent){
gotoAndStop("rogin", "Scene 1");
}
function clickToraz(evtObj:MouseEvent){
gotoAndStop("toraz", "Scene 1");
}
function clickNaomi(evtObj:MouseEvent){
gotoAndStop("naomi", "Scene 1");
}
function clickRummy(evtObj:MouseEvent){
gotoAndStop("rummy", "Scene 1");
}
function clickTeeth(evtObj:MouseEvent){
gotoAndStop("teeth", "Scene 1");
}
function clickSichan(evtObj:MouseEvent){
gotoAndStop("sichan", "Scene 1");
}
function clickStory(evtObj:MouseEvent){
gotoAndStop("story");
}
function clickWorld(evtObj:MouseEvent){
gotoAndStop("world");
}
function clickCharacters(evtObj:MouseEvent){
gotoAndStop("characters");
}
function clickExtras(evtObj:MouseEvent){
gotoAndStop("extras");
}
function clickStoryH(evtObj:MouseEvent){
gotoAndStop("story", "Scene 1");
}
function clickWorldH(evtObj:MouseEvent){
gotoAndStop("world", "Scene 1");
}
function clickCharactersH(evtObj:MouseEvent){
gotoAndStop("characters", "Scene 1");
}
function clickExtrasH(evtObj:MouseEvent){
gotoAndStop("extras", "Scene 1");
}
答案 0 :(得分:2)
看起来您正在将按钮侦听器分配给您声明它们时不在舞台上的按钮。将此代码移到第30帧的补间代码下面,它应该可以工作:
top_mc.gowang_btn.addEventListener(MouseEvent.CLICK, clickGowang);
top_mc.ayame_btn.addEventListener(MouseEvent.CLICK, clickAyame);
top_mc.evora_btn.addEventListener(MouseEvent.CLICK, clickEvora);
top_mc.rogin_btn.addEventListener(MouseEvent.CLICK, clickRogin);
top_mc.toraz_btn.addEventListener(MouseEvent.CLICK, clickToraz);
top_mc.naomi_btn.addEventListener(MouseEvent.CLICK, clickNaomi);
top_mc.rummy_btn.addEventListener(MouseEvent.CLICK, clickRummy);
top_mc.teeth_btn.addEventListener(MouseEvent.CLICK, clickTeeth);
top_mc.sichan_btn.addEventListener(MouseEvent.CLICK, clickSichan);
由于你的'characters_mc'位于该帧的舞台上,因此它们可以接受这些侦听器(因为它们在您之前尝试声明它们时不存在)。
答案 1 :(得分:-1)
您可以使用MovieClip
作为按钮:
MovieClip(this.parent).gotoAndStop("gowang");