这适用于游戏中的关卡系统。
该级别由两个字节数组组成:
byte[] tiles
和byte[] data
tiles
保存切片的ID,data
保存数据。
我创建了一个函数来从中创建一个字符串。它的格式类似于tileId:tileData,tileId:tileData,tileId:tileData,etc
您可以在此处查看完整级别的示例:http://pastebin.com/X2LG7e80
脚本如下所示:
public String toString() {
String s = "";
StringBuilder sb = new StringBuilder();
for (int t = 0; t < tiles.length; t++) {
sb.append(tiles[t]).append(":").append(data[t]).append(t == tiles.length - 1 ? ";" : ",");
}
s = sb.toString();
return s;
}
现在我需要一种方法将它变回两个字节的阵列 我尝试了几个不同的东西,但没有一个有效。
答案 0 :(得分:0)
假设变量stringRep
包含字符串表示:
String stringRep = "tileId:tileData,tileId:tileData,tileId:tileData";
String[] pairs = stringRep.split(",");
byte[] tiles = new byte[pairs.length];
byte[] data = new byte[pairs.length];
int i = 0;
for(String pair : pairs){
String[] pairParts = pair.split(":");
titles[i] = Byte.parseByte(pairParts[0]);
data[i] = Byte.parseByte(pairParts[1]);
i++;
}