私はAndroidにTMXファイルを実装しようとしていますが、誰かが助けてくれることを望んでいました。TMXガイドに基づいて、GIDを取得するには
上記の例のように圧縮属性が「gzip」に設定されている場合は、最初にbase64で文字列をデコードし、次に結果のデータをgunzipで圧縮します。最後に、データストリームの最初から最後まで、GIDごとに一度に4バイトを読み取ることができます。
base64のデコードと「gunzip」を理解したと思いますが、以下のコードの結果は27,0,0,0の繰り返しです。出力は次のようになっていると思います
(0,0)(1,0)(2,0)(3,0)(0,1)(1,1)(2,1)(3,1)(0,2)(1,2) (2,2)(3,2)
ありがとう!
public static void main( String[] args )
{
String myString = "H4sIAAAAAAAAAO3NoREAMAgEsLedAfafE4+s6l0jolNJiif18tt/Fj8AAMC9ARtYg28AEAAA";
byte[] decode = Base64.decodeBase64(myString);
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(decode);
GZIPInputStream gzipInputStream;
int read;
try
{
gzipInputStream = new GZIPInputStream(byteArrayInputStream);
InputStreamReader inputStreamReader = new InputStreamReader(gzipInputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader, 4);
while ( ( read = bufferedReader.read() ) != -1 )
{
System.out.println("read :" + read);
}
}
catch (IOException e)
{
e.printStackTrace();
}
}