2015-11-23 97 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