2016-10-22 5 views
0

私と私の友人は何時間もそれをハッキングしていますが、何が間違っているのか分かりません。基本的には配列を通して実行されており、ボタンがロックされているか対話可能であるかどうか、またnullの場合は対話可能になります。プレーヤーの設定を使用することにより、これらの設定はアプリケーションとの各セッションを通じて持続するはずです。ここでforループで定義された変数に関する問題C#

はコードです:

for (i = 0; i < buttons.Length; i = i + 1) { 

    if (PlayerPrefs.GetInt("button" + string.Format i) == null) { 

     PlayerPrefs.SetInt("button" + string.Format i, 1); 
    } 

    if (PlayerPrefs.GetInt("button" + string.Format i) == 1) { 

     button.interactable = true; 

    } else { 

     button.interactable = false; 

    } 
} 

現在団結は5つのエラーが表示されます。

  • エラーCS1525:予期しない記号 `I」(これらの2)
  • エラーCS1519:予期しない記号を`クラス、構造体、またはインターフェイスメンバの宣言で予期しないシンボル '='
  • エラーCS1519:クラス、構造体、またはインターフェイスメンバ宣言で予期しないシンボル `= '
  • エラーCS8025:ちょうど解析エラー
+0

'I = 0;'ラインは、I = 0 'int型でなければなりません;'それは、シンボルエラーを引き起こしているものです。 –

+0

Tinyが改善されました: "i = i + 1"を "i ++"に変更 –

答えて

5

推測、しかし、あなたが書く必要があります。

PlayerPrefs.GetInt("button" + string.Format i) 

for (int i = 0; i < buttons.Length; ++i) { 

あなたは多分またi

この行を宣言するのを忘れstring.Formatは、静的メソッドstringです。構文が間違っています。

PlayerPrefs.GetInt("button" + i) 

またはこの方法:あなたはこのようにそれを書くことができます

PlayerPrefs.GetInt(string.Format("button{0}",i)); 
+0

この問題を解決していただきありがとうございます:D私はC#を初めて使っていますので、文字列などの構文はまだ分かりません。 –

+0

! :)私は助けることができてうれしい! – DoubleVoid

+0

ああ、助けがあれば、この投稿に答えを記入してください:)チェックマーク – DoubleVoid

関連する問題