Actionscript 2.0 if 和 else 函数不起作用?

Actionscript 2.0 if and else functions not working?

我在我的按钮上使用这个脚本:

   on(release){
var body2:Boolean = true; 
answerField = body2
var body1:Boolean = false;
var body3:Boolean = false; 

gotoAndStop(2);
}

我的第二个按钮上的这个脚本:

on (release) {
if (body1=true) {
   gotoAndStop(4);
} else if (body2=true) {
    gotoAndStop(5);
} else {
  gotoAndStop(6);  
}
}

但是由于某些原因,即使 body2=true,我也无法使用第二个按钮将我带到第 5 帧。

有什么建议吗?

您的代码不起作用,因为您只是在 if 语句中使用赋值运算符 (=) 而不是比较运算符 (==),它们可以是:

if (body1 == true) {            // you can write it : if(body1){}
    gotoAndStop(4);
} else if (body2 == true) {     // you can write it : if(body2){}
    gotoAndStop(5);
} else {
    gotoAndStop(6);  
}

有关 ActionScript 运算符的更多信息,请查看 here

此外,您的 Booleans 应该使用 _global 全局声明,以便在您的代码中的任何地方都可以访问,或者在您的主​​时间轴中使用 _root.my_var 访问,并且当它们在 MovieClip 或 Button 代码中声明,您可以调用它们,例如,使用 _root.my_button.myvar ...

所以在你的情况下,假设你的第一个按钮被称为 button1,你的另一个按钮的代码可以是这样的:

if (_root.button1.body1) {  
    gotoAndStop(4);
} else if (_root.button1.body2) {
    gotoAndStop(5);
} else {
    gotoAndStop(6);  
}

编辑:

使用 _global 的示例:

button1 上的代码:

on (release) {
    _global.body2 = true;
    _global.body1 = false;
    _global.body3 = false;
}

button2 上的代码:

on (release) {
    trace(body2);      // gives : true
    trace(body1);      // gives : false
}

希望能帮到你。