如果聲明會導致你的問題。
你會想:
if(Indicator == 5)
代替。目前你正在分配值而沒有檢查它,這會導致編譯器錯誤。如果它只是一個錯字,然後更新您的答案,否則稍有混淆。
關於檢查文本值。您必須抓取文本值,因爲您需要參考文本區域。這種方法假定文本區域具有由用戶設置的值。目前,您並未抓取任何要比較的文本值,因此if語句不會知道要比較的內容。
這裏有一個辦法:
public void myfunction5(Canvas Panel)
{
float result;
string textValue = yourTextArea.text;
if(Single.TryParse(textValue, out result))
{
if(result == Indicator)
{
Panel.enabled = false;
}
}
}
您使用的TryParse,以避免如果用戶輸入的東西,這不是一個數字,就會被拋出任何潛在的異常。此方法將從文本區域獲取值,如何讓文本區域取決於您,並嘗試將文本值解析爲浮動值。如果解析成功,該方法將返回true,否則返回false。
下面是對的TryParse東西參考: https://msdn.microsoft.com/en-us/library/26sxas5t(v=vs.110).aspx
如果你想把它解析爲int,然後你會使用的Int32的版本的TryParse的,https://msdn.microsoft.com/en-us/library/system.int32_methods(v=vs.110).aspx
我也建議https://docs.unity3d.com/Manual/script-InputField.html
您可以訂閱你的方法輸入字段論價值Changed事件,你的函數將需要略微調整了,雖然:
01在輸入字段文檔具有峯值
public void myfunction5(string text)
{
float result;
if(Single.TryParse(text, out result))
{
if(result == Indicator)
{
CachedPanel.enabled = false;
}
}
}
不要忘記存儲對要禁用的面板的引用。
希望這是你所追求的。
來源
2017-03-09 23:54:53
JJC
感謝您的答覆..我會嘗試了這一點 – Deadking66