這看起來很簡單,但由於某種原因,它逃脫了我。 我有兩個布爾和兩個返回布爾值的方法。我希望如果bool1設置爲true,bool2將被設置爲false,反之亦然。以下是代碼中的外觀。如何讓bools不能同時成立?
bool b1, b2;
b1 = b1^GUILayout.Button();
b2 = b2^GUILayout.Button();
在框架上按鈕是單擊該方法返回true。我使用異或(^)的方式使按鈕切換真和假。
這看起來很簡單,但由於某種原因,它逃脫了我。 我有兩個布爾和兩個返回布爾值的方法。我希望如果bool1設置爲true,bool2將被設置爲false,反之亦然。以下是代碼中的外觀。如何讓bools不能同時成立?
bool b1, b2;
b1 = b1^GUILayout.Button();
b2 = b2^GUILayout.Button();
在框架上按鈕是單擊該方法返回true。我使用異或(^)的方式使按鈕切換真和假。
如果布爾總是彼此相反,那麼爲什麼要使用兩個呢?
說我們有問題的布爾變量是ballBlue
和ballGreen
(在我們的世界,我們只能有一個或其他 - 有沒有紅球),對於任何給定的球,只能有一個是真實的,而其他一定是假的。
在這種情況下,我們可以簡單地使用ballBlue
:如果值爲true,那麼球必須是藍色的。如果不是,那麼暗示球是綠色的。
我想你會需要布爾反轉
b1 = MethodThatReturnsBool1();
b2 = (!b1)
b2 = MethodThatReturnsBool2();
b1 = (!b2)
然後意味着我還沒有得到你的問題,你需要兩個相反取決於方法的輸出權?例如bool1 = method1爲true,那麼bool2必須爲false,如果這是你想要的,那麼我的anwser是正確的 – razzbee
好吧,對不起,我的解決方案其實有一個不同的問題。如果我使用你的解決方案,那麼bools不能同時爲假。 –
我使用返回布爾變量的方法,我不能改變的方法,因爲這些方法必須返回布爾變量。如果我可以將兩個布爾編譯成一個,你的答案就可以工作。可悲的是我不知道如何。 –
也許你可以詳細說明函數和布爾的名字,所以我可以更好地理解你的具體情況? –
我更改了我的問題摘要,向您展示了這些方法的工作原理。 –