1

わかりました、これまでのところ、私が見つけたすべての答えは、答えを知らない人によって答えられているようです...これは簡単なものでなければなりません(無料の担当者です):

res/raw/ に overworld_a.tmx というファイルがあります

パスを文字列として使用してロードし、次にファイル名を文字列に追加する必要があります。

そのようです:

    String mapName = "overworld_a.tmx";
    try {
        TMXMapReader mapReader = new TMXMapReader();
        map = mapReader.readMap("raw/"+mapName);
    } catch (Exception e) {
        System.out.println("Error while reading the map:\n" + e.getMessage());
        return;
    }

問題は、これが明らかにうまくいかないことです....簡単な質問は、そのファイルへの相対パスは何ですか?

そして、これが可能でない場合:

複雑な質問は、res フォルダーとその子からさまざまなファイルを開くにはどうすればよいですか?

4

1 に答える 1

1

あなたはdiroverworld_a.tmxから次のように読むことができます:res/raw

1.rawフォルダーからopenRawResourceの読み取りoverworld_a.tmxに使用します。InputStream

String mapName = "overworld_a"; //<< just pass name without file extension 

resID = getResources().getIdentifier(mapName, "raw", getPackageName());
InputStream inputStream = getResources().openRawResource(resID);

2.ByteArrayOutputStreamから取得inputStream

ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
//... your code for reading byteArray from inputStream

3.byteArrayOutputStreamに渡すmapReader.readMap

 TMXMapReader mapReader = new TMXMapReader();
 map = mapReader.readMap(byteArrayOutputStream);
//.....
于 2013-03-22T06:02:51.380 に答える