关卡解析后的处理
//根据方法的名字和参数调用对应的方法
private void invokeMethod(String name,String[] params){
for (String param : params) {
//获得每一行的方法的参数,解析。
String[] split = param.split(",");
//使用一个int 数组保存解析后的内容
int[] arr = new int[split.length];
int i;
for (i = 0; i < split.length-1; i++) {
arr[i] = Integer.parseInt(split[i]);
}
//块之间的间隔是地图块的倍数
final int DIS = MapTile.tileW ;
//解析最后一个double值
int dis = (int)(Double.parseDouble(split[i])*DIS);
switch(name){
case "addRow":
addRow(MAP_X+arr[0]*DIS,MAP_Y+arr[1]*DIS,
MAP_X+MAP_WIDTH-arr[2]*DIS,arr[3],dis);
break;
case "addCol":
addCol(MAP_X+arr[0]*DIS,MAP_Y+arr[1]*DIS,
MAP_Y+MAP_HEIGHT-arr[2]*DIS,
arr[3],dis);
break;
case "addRect":
addRect(MAP_X+arr[0]*DIS,MAP_Y+arr[1]*DIS,
MAP_X+MAP_WIDTH-arr[2]*DIS,
MAP_Y+MAP_HEIGHT-arr[3]*DIS,
arr[4],dis);
break;
}
}
}