需要通过点击事件做几件事。我是初学者,所以有没有其他方法来编写这段代码?通过单击此按钮,它将转到下一帧,根据声明,几个按钮将可见或不可见。我用这种方式编写代码,它说有语法错误,但我找不到任何。希望你们明白这一点并帮助我。 :)谢谢!
review_btn.addEventListener(MouseEvent.CLICK, review1)
function review1(event:MouseEvent):void{
if(rvw1 == "Correct"){
gotoAndStop(3627);
help1.visible = false
}
else{
gotoAndStop(3627);
help1.visible = true
}
}
review_btn.addEventListener(MouseEvent.CLICK, review2)
function review2(event:MouseEvent):void{
if(rvw2 == "Correct"){
gotoAndStop(3627);
help2.visible = false
}
else{
gotoAndStop(3627);
help2.visible = true
}
}
review_btn.addEventListener(MouseEvent.CLICK, review3)
function review3(event:MouseEvent):void{
if(rvw3 == "Correct"){
gotoAndStop(3627);
help3.visible = false
}
else{
gotoAndStop(3627);
help3.visible = true
}
}
review_btn.addEventListener(MouseEvent.CLICK, review4)
function review4(event:MouseEvent):void{
if(rvw4 == "Correct"){
gotoAndStop(3627);
help4.visible = false
}
else{
gotoAndStop(3627);
help4.visible = true
}
}
review_btn.addEventListener(MouseEvent.CLICK, review5)
function review5(event:MouseEvent):void{
if(rvw5 == "Correct"){
gotoAndStop(3627);
help5.visible = false
}
else{
gotoAndStop(3627);
help5.visible = true
}
}
答案 0 :(得分:1)
我会尝试一下。看起来唯一的区别是在每个方法中你需要匹配“helpX”.visible和“rvwX”等于字符串“Correct”,其中X是1-5的数字。无论如何,gotoAndStop()框架都是相同的。此外,所有五个都是在同一个按钮。我将假设剪辑'帮助'是在舞台上定义的影片剪辑,如果它们来自其他东西我会将它们存储在数组中以进行循环而不是'构建'名称并找到那样的引用为了清楚起见。
function review(event:MouseEvent):void {
for(var counter:int = 1; counter < 6; counter++){
this["help" + counter].visible = (this["rvw" + counter] != "Correct");
}
this.gotoAndStop(3627);
}
review_btn.addEventListener(MouseEvent.CLICK, review);
答案 1 :(得分:0)
我认为你必须做一个有2个字段的课程:“help”和“rvw”(让我称之为“Switcher”)。此外,它可能包含设置可见性的功能(可能,不一定,此功能也可以在您的主类中):
Switcher.as:
import flash.display.MovieClip;
public class Switcher {
private var help:MovieClip;
private var rvw:String;
public function setVisibility() {
help.visible = !(rvw == "Correct");
}
}
然后你必须在主类中创建一个Switcher对象数组,并且只使用一个“review”处理程序:
function review(event:MouseEvent):void {
for each(var sw:Switcher in switchersArray) {
sw.setVisibility();
}
this.gotoAndStop(3627);
}
上一个答案的代码可以正常工作,但恕我直言,创建类似对象的数组(或Vector)比做大量的help1,help2,help3等变量要好。