0

私は既存のJavaプロジェクトからAndroid環境へのコードの適応に取り組んできました。

スプライトシートに対応する整数のテキストファイルからマップをロードします。

e.g. 0=grass 1=wall

0 0 0 1 1 1 0 0 0
0 0 0 1 1 1 0 0 0
0 0 0 1 1 1 0 0 0

-

これは以前はこれで行われていました:(スキャナーとバッファー付きリーダー)

 mapData = new Scanner(new BufferedReader(new FileReader(fileName)));
  mapData.next();
  for (int i = 0; i < 3; i++) {
    for (int y = 0; y < 30; y++) {
      for (int x = 0; x < 50; x++) {
        map[i][x][y] = mapData.nextInt();
      }
    }
    mapData.next();
  }

-

私はここ数日、これを適応させるのに苦労してきました。それは機能している状態ですが、1秒の仕事をするのに5分かかります

            mapData = new Scanner(new BufferedReader(new InputStreamReader(context.getResources().openRawResource(map1))));
        mapData.next();
        for (int i = 0; i < 3; i++) {
            for (int y = 0; y < 30; y++) {
                for (int x = 0; x < 50; x++) {
                    map[i][x][y] = mapData.nextInt();
                }
            }
            mapData.next();
        }

(map1は別のクラスから渡された.txtファイルです)

ここで何が間違っているのですか、またはこのタスクを実行するために他にどのような方法を使用する必要がありますか?

ありがとう-リンドン

4

1 に答える 1

0

この問題に対するある種の修正を見つけたようです。

交換

map[i][x][y] = mapData.nextInt();

と:

map[i][x][y] = Integer.parseInt(mapData.next());

速度に大幅な修正を加えました/

于 2013-01-07T00:12:21.300 に答える