由于保护级别,c# 函数无法访问
c# function inaccessible due to protection level
我目前正在关注 YouTube 上关于如何使用 C# 脚本在 Unity 中制作迷宫游戏的教程。在部分教程中,上传者正在使用 "GameManager" 脚本中的函数并在 "PlayerMovement" 脚本中调用它。在视频中一切正常,但是当我尝试实现它时,它给了我 "CS0122 'GameManager.CompleteLevel()' is inaccessible due to its protection level"
这里有一些代码片段可以帮助可视化我的问题:
"PlayerMovement"
void OnTriggerEnter(Collider other)
{
if (other.transform.tag == "Goal")
GameManager.CompleteLevel();
}
"GameManager"
public class GameManager : MonoBehaviour {
public static int currentScore;
public static int highScore;
public static int currentLevel =0;
public static int unlockedLevel;
void CompleteLevel()
{
currentLevel++;
SceneManager.LoadScene(currentLevel);
}
}
非常感谢任何帮助:)
你应该用 public 修饰符标记一个方法
public void CompleteLevel()
没有修饰符是私有的(仅用于 class)
我目前正在关注 YouTube 上关于如何使用 C# 脚本在 Unity 中制作迷宫游戏的教程。在部分教程中,上传者正在使用 "GameManager" 脚本中的函数并在 "PlayerMovement" 脚本中调用它。在视频中一切正常,但是当我尝试实现它时,它给了我 "CS0122 'GameManager.CompleteLevel()' is inaccessible due to its protection level"
这里有一些代码片段可以帮助可视化我的问题:
"PlayerMovement"
void OnTriggerEnter(Collider other)
{
if (other.transform.tag == "Goal")
GameManager.CompleteLevel();
}
"GameManager"
public class GameManager : MonoBehaviour {
public static int currentScore;
public static int highScore;
public static int currentLevel =0;
public static int unlockedLevel;
void CompleteLevel()
{
currentLevel++;
SceneManager.LoadScene(currentLevel);
}
}
非常感谢任何帮助:)
你应该用 public 修饰符标记一个方法
public void CompleteLevel()
没有修饰符是私有的(仅用于 class)