"The name 'HighScoreList' does not exist in the current context"
"The name 'HighScoreList' does not exist in the current context"
所以我试图从一个文件中提取玩家姓名和计数,并将它们保存到一个变量中以获得高分..
我不明白为什么会出现此错误。完全没有。
我也试过在 unity 论坛上提问,但这并没有多大帮助。
代码:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using System;
public class highscores : MonoBehaviour {
public int[] HighScoreList;
public string[] HighScoreListNames;
public int score;
public Text HighScore0;
public Text HighScore1;
public Text HighScore2;
public Text HighScore3;
public Text HighScore4;
void Awake()
{
HighScoreList = new int [5];
HighScoreList [0] = 0;
HighScoreList [1] = 0;
HighScoreList [2] = 0;
HighScoreList [3] = 0;
HighScoreList [4] = 0;
HighScoreListNames = new string [5];
HighScoreListNames [0] = "";
HighScoreListNames [1] = "";
HighScoreListNames [2] = "";
HighScoreListNames [3] = "";
HighScoreListNames [4] = "";
}
void GetScore ()
{
string[] currentscore = System.IO.File.ReadAllLines (@"C:\Users\Plum\Desktop\Pixel Ninjav3.3\Assets\leaderboard.txt");
score = Convert.ToInt32(currentscore[1]);
if (score >= HighScoreList[0])
{
HighscoreList[4] = HighScoreList[3];
HighscoreList[3] = HighScoreList[2];
HighscoreList[2] = HighScoreList[1];
HighscoreList[1] = HighScoreList[0];
HighscoreList[0] = score;
HighScoreListNames[4] = HighScoreListNames[3];
HighScoreListNames[3] = HighScoreListNames[2];
HighScoreListNames[2] = HighScoreListNames[1];
HighScoreListNames[1] = HighScoreListNames[0];
HighScoreListNames[0] = currentscore[0];
}
else if (score >= HighScoreList[1])
{
HighscoreList[4] = HighScoreList[3];
HighscoreList[3] = HighScoreList[2];
HighscoreList[2] = HighScoreList[1];
HighscoreList[1] = score;
HighScoreListNames[4] = HighScoreListNames[3];
HighScoreListNames[3] = HighScoreListNames[2];
HighScoreListNames[2] = HighScoreListNames[1];
HighScoreListNames[1] = currentscore[0];
}
else if (score >= HighScoreList[2])
{
HighscoreList[4] = HighScoreList[3];
HighscoreList[3] = HighScoreList[2];
HighscoreList[2] = score;
HighScoreListNames[4] = HighScoreListNames[3];
HighScoreListNames[3] = HighScoreListNames[2];
HighScoreListNames[2] = currentscore[0];
}
else if (score >= HighScoreList[3])
{
HighscoreList[4] = HighScoreList[3];
HighscoreList[3] = score;
HighScoreListNames[4] = HighScoreListNames[3];
HighScoreListNames[3] = currentscore[0];
}
else if (score >= HighScoreList[4])
{
HighscoreList[4] = score;
HighScoreListNames [4] = currentscore[0];
}
}
}
C# 区分大小写。这意味着你不能混合使用 "HighScoreList" 和 "HighscoreList".
您只声明了 HighScoreList。分数大写。但是在您的 ifs 中,您还使用小写分数的 HighscoreList。
所以我试图从一个文件中提取玩家姓名和计数,并将它们保存到一个变量中以获得高分..
我不明白为什么会出现此错误。完全没有。 我也试过在 unity 论坛上提问,但这并没有多大帮助。
代码:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using System;
public class highscores : MonoBehaviour {
public int[] HighScoreList;
public string[] HighScoreListNames;
public int score;
public Text HighScore0;
public Text HighScore1;
public Text HighScore2;
public Text HighScore3;
public Text HighScore4;
void Awake()
{
HighScoreList = new int [5];
HighScoreList [0] = 0;
HighScoreList [1] = 0;
HighScoreList [2] = 0;
HighScoreList [3] = 0;
HighScoreList [4] = 0;
HighScoreListNames = new string [5];
HighScoreListNames [0] = "";
HighScoreListNames [1] = "";
HighScoreListNames [2] = "";
HighScoreListNames [3] = "";
HighScoreListNames [4] = "";
}
void GetScore ()
{
string[] currentscore = System.IO.File.ReadAllLines (@"C:\Users\Plum\Desktop\Pixel Ninjav3.3\Assets\leaderboard.txt");
score = Convert.ToInt32(currentscore[1]);
if (score >= HighScoreList[0])
{
HighscoreList[4] = HighScoreList[3];
HighscoreList[3] = HighScoreList[2];
HighscoreList[2] = HighScoreList[1];
HighscoreList[1] = HighScoreList[0];
HighscoreList[0] = score;
HighScoreListNames[4] = HighScoreListNames[3];
HighScoreListNames[3] = HighScoreListNames[2];
HighScoreListNames[2] = HighScoreListNames[1];
HighScoreListNames[1] = HighScoreListNames[0];
HighScoreListNames[0] = currentscore[0];
}
else if (score >= HighScoreList[1])
{
HighscoreList[4] = HighScoreList[3];
HighscoreList[3] = HighScoreList[2];
HighscoreList[2] = HighScoreList[1];
HighscoreList[1] = score;
HighScoreListNames[4] = HighScoreListNames[3];
HighScoreListNames[3] = HighScoreListNames[2];
HighScoreListNames[2] = HighScoreListNames[1];
HighScoreListNames[1] = currentscore[0];
}
else if (score >= HighScoreList[2])
{
HighscoreList[4] = HighScoreList[3];
HighscoreList[3] = HighScoreList[2];
HighscoreList[2] = score;
HighScoreListNames[4] = HighScoreListNames[3];
HighScoreListNames[3] = HighScoreListNames[2];
HighScoreListNames[2] = currentscore[0];
}
else if (score >= HighScoreList[3])
{
HighscoreList[4] = HighScoreList[3];
HighscoreList[3] = score;
HighScoreListNames[4] = HighScoreListNames[3];
HighScoreListNames[3] = currentscore[0];
}
else if (score >= HighScoreList[4])
{
HighscoreList[4] = score;
HighScoreListNames [4] = currentscore[0];
}
}
}
C# 区分大小写。这意味着你不能混合使用 "HighScoreList" 和 "HighscoreList".
您只声明了 HighScoreList。分数大写。但是在您的 ifs 中,您还使用小写分数的 HighscoreList。