我有一个用于加载某些级别的字符串数据,在完成级别后,某些代码应该增加字符串的最后一个字符以正确加载下一级别。
例如:
String levelName = "Level_002_001";
完成关卡后,它应该创建一个字符串=" Level_002_002",它与下面的代码一起使用,直到" Level_002_009",并且在加载第10级时,它会产生错误
代码:
string sceneName = Application.loadedLevelName;
char[] chars = sceneName.ToCharArray();
int level = chars[chars.Length - 1] - '0';
ManageLevelData.SaveLevel(level, ScoreController.Percentage());
chars[chars.Length - 1] = (char)(((int)'0')+ level + 1);
Application.LoadLevel(new string(chars));
在人类语言中:我将字符串中的每个字符分开,然后取最后一个字符并将其转换为int,然后将其增加为1,并将它们全部粘合在一起。
答案 0 :(得分:0)
char[] chars = sceneName.ToCharArray();
int level = chars[chars.Length - 1] - '0';
if(level >= 9)
{
int previousChar = chars[chars.Length - 2] - '0';
previousChar++;
chars[chars.Length - 2] = (char)(((int)'0') + previousChar);
chars[chars.Length - 1] = '0';
Debug.Log(new string(chars));
}
else
chars[chars.Length - 1] = (char)(((int)'0') + level + 1);
这个诀窍,只有在我没有错的情况下才能使用,我真的希望有一个功能。 :o