LibGDX没有使用Android资源文件夹

时间:2014-10-13 20:35:14

标签: java android libgdx

我在编译Android或IOS版本时读取资产文件夹的libGDX项目有问题。在尝试访问android模块下的assets文件夹中的文件时,我似乎总是在IOS或Android中获得FileNotFoundException,但在桌面上运行时却没有。我的桌面配置指向Android资源目录。

执行以下代码时:

 public void readGameMap() throws IOException
    {
        readGameMap("gameMap.txt");
    }

    public void readGameMap(String path) throws IOException
    {

        Scanner s = new Scanner(Gdx.files.internal(path).file());


        int i = 0;


        while ((s.hasNextLine()))
        {

            String str = s.nextLine();

            if (str.length() < maze.length)
                throw new IOException("Incorrect game_map.txt structure");

            for (int j = 0; j < str.length(); j++)
            {

                Object temp;

                switch (str.charAt(j))
                {
                    case '1':
                        temp = new Wall();
                        break;

                    case '3':
                        temp = new Dot();
                        break;

                    default:
                        temp = new Object();
                        break;
                }

                maze[j][i] = temp;

            }

            i++;
        }

        s.close();

    }

抛出未找到文件的异常。我的文件夹结构如下:

-Android
  -assets
    -gameMap.txt
-Desktop
-IOS
-HTML
-core

2 个答案:

答案 0 :(得分:5)

如果您使用的是Android Studio,请选择编辑配置... In case if you are using Android Studio, select edit config...

更改&#39;桌面应用程序&#39; - &GT; &#39;工作目录&#39;到你的android资产forlder Change 'Desktop Application' -> 'Working Directory' to your android asset forlder

答案 1 :(得分:0)

您应该使用Gdx.file.internal();

https://github.com/libgdx/libgdx/wiki/File-handling#reading-from-a-file

  

如果您使用[设置UI |项目设置,运行&amp;调试],这个文件将包含在Android项目的资产文件夹中,确切地说是$ ANDROID_PROJECT / assets / data。您的桌面和html项目链接到Eclipse中的此文件夹,并在Eclipse中执行时自动选择它。