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();
  }

-

过去几天我一直在努力适应这一点,它处于工作状态,但需要 5 分钟才能完成 1 秒的工作

            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 回答