2015-11-23 64 views
0

我使用我的按钮,这个脚本:Actionscript 2.0如果和其他功能无法正常工作?

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); 
} 
} 

但是由于某种原因,我不能让我的第二个按钮,带我到第5帧即使body2 = true。

有什么建议吗?

回答

2

您的代码不工作,因为只是你在你的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

此外,您Boolean S的关系被宣布全球范围内使用_global可访问无处不在你的代码,或者在你的主时间轴使用_root.my_var可访问,并且当他们的电影剪辑或按钮代码内声明,你可以给他们打电话,例如,使用_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 
} 

希望能有所帮助。

+0

非常感谢!我无法弄清楚在全球范围内如何以及在哪里声明我的布尔值?我试图用_global替换var。在我的第一个按钮,但这给了我错误。 – Racetrack

+0

我使用的是: on(release){ \t _global.body1:Boolean = true; \t var answerField = _global.body1 \t _global.body2:Boolean = false; \t _global.body3:Boolean = false; gotoAndStop(1); } – Racetrack

+0

@Racetrack我加了一个如何使用'_global'的例子,看一看。 – akmozo