0

XNA、C# で 2D vector2 配列を作成しようとしています。

次のステートメントを使用しました。

Vector2[][] SpritePosition=new Vector2[4][];  

次に、次の for ループを使用してそれらを初期化しました。

for(i=0;i<4;i++)  
{  
    for(j=0;j<4;j++)  
    {  
    }  
}

ただし、上記のように for ループを使用すると、実際には 2 つのエラーが発生しました。

  1. Int はフィールドであり、型として使用されます。
  2. 'for' は、クラス、構造体、またはインターフェイス メンバー宣言の無効なトークンです。

なぜ私がそのような問題に直面しているのか誰にもわかりますか?

編集:これはコードです:

public class Game1 : Microsoft.Xna.Framework.Game
{
    int i=new int();
    GraphicsDeviceManager graphics;
    SpriteBatch spriteBatch;
    Texture2D texture;
    //Vector2[,] SpritePosition = new Vector2[4,4];
    Vector2[,] SpriteSpeed = new Vector2[4,4];
    for(i=0;i<4;i++)
    {
    }
}
4

2 に答える 2

1

いくつかのC#チュートリアルを読む必要があるようです

そのための関数が必要になります。

void LoadArray()
{
for(int i=0;i<4;i++)  
{  
    for(int j=0;j<4;j++)  
    {  
SpritePosition[i,j] = new Vector2(i,j)
    }  
}

を使用して、initializeメソッドから呼び出すことができますLoadArray()

}

また、i = new Int()文字列やintなどの基本的なものにはintは必要ありません。新しいWhatever()部分は必要ありません。

ただやる

for(int i=0;i<4;i++) { }

于 2012-07-06T03:04:43.073 に答える
0

#2の場合、forループが関数内にないことを意味します...したがって、コードの上位のどこかに、そこに置くつもりのない余分な } がある可能性があります。これが#1の問題でもある可能性は十分にありますが、確かに言うのに十分なコンテキスト(より多くのコードまたはコンパイラがエラーを正確に言う場所)を実際に提供していません

于 2012-07-06T02:47:23.130 に答える