時,Else語句仍然有效我不太確定爲什麼,但是我無法讓這個腳本自動運行。我有一個if語句,後面跟着一個else語句,嵌套在另一個if語句和它自己的else語句中,並且由於腳本的方式,else語句會觸發,無論我做什麼。我嘗試退出該功能,但它不起作用。我在下面有兩個版本的腳本,一個版本使用switch語句,一個版本使用if/else語句。他們在一系列相同的功能。即使當If被告知返回
我想要的是,如果cost + memorybar.Value大於100,它告訴用戶,並關閉切換,然後退出該函數。現在發生的事情是,它將關閉開關,然後運行else語句,即使在switch語句中也是如此。現在切換以某種方式反向進行。我見過類似的問題,但即使是返回聲明也無法解決這個問題。
cost = 50;
switch (power5.isOn) {
case true:
if (cost + memorybar.value > 100) {
error.text = "Exeeds maximum memory";
power5.isOn = false;
break;
} else {
memorybar.value = memorybar.value + cost;
break;
}
case false:
memorybar.value = memorybar.value + cost;
break;
}
if (power5.isOn == true) {
if (cost + memorybar.value > 100) {
error.text = "Exeeds maximum memory";
power5.isOn = false;
return;
} else
memorybar.value = memorybar.value + cost;
return;
}
else
memorybar.value = memorybar.value - cost;
布爾值上的'switch'有點矯枉過正。將自己的麻煩保存下來,並將其轉換爲'if(power5.isOn){} else {}'語句。另外,我不知道在switch語句的代碼內部修改'switch'裏面的變量時會產生什麼樣的影響。 –
如果我是你,我會做的第一件事就是放置'if-else'的括號,即使它包含一個語句。 – VSG24
這些函數如何被調用?也許改變布爾值會觸發你的函數再次運行。在代碼行中加上'switch'或者最外面的'if'語句來放置一個斷點,看看整個事情是否被調用了兩次。 –