if文で問題が発生する可能性があります。
あなたは望む:代わりに
if(Indicator == 5)
。チェックせずに値を割り当てている瞬間に、コンパイラエラーが発生します。それがちょうどタイプミスであれば、答えを更新し、そうでなければ少し混乱させてください。
テキスト値のチェックに関して。テキスト領域を参照する必要があるため、テキスト値を取得する必要があります。このアプローチでは、テキスト領域にユーザーが設定した値があることを前提としています。現在、比較するテキスト値を取得していないため、if文は何を比較するのかわかりません。
は、ここに1つのアプローチです:
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のもののためのリファレンスです:あなたはintにそれを解析したい場合は、 https://msdn.microsoft.com/en-us/library/26sxas5t(v=vs.110).aspx
その後、あなたは私もお勧めしたい、https://msdn.microsoft.com/en-us/library/system.int32_methods(v=vs.110).aspx
をTryParseののInt32のバージョンを使用しているだろう入力フィールドのドキュメントでピークを有する:https://docs.unity3d.com/Manual/script-InputField.html
あなたは値が変更されたイベント上の入力フィールドにあなたの方法を購読することができ、あなたの関数はかかわらず、わずかに微調整する必要があります。
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