Unity3d Unity 3d不包含定义

Unity3d Unity 3d不包含定义,unity3d,Unity3d,问题在于统一回归: “PlayerController”不包含sharedinstance的定义 有什么问题?谢谢我不知道这是否能解决所有问题,但你应该在使用它之前检查playercontroler.sharedinstance是否已设置 public class killtriger : MonoBehaviour { void OnTriggerEnter2D(Collider2D theObject){ if (theObject.tag == "Player")

问题在于统一回归:

“PlayerController”不包含sharedinstance的定义


有什么问题?谢谢

我不知道这是否能解决所有问题,但你应该在使用它之前检查playercontroler.sharedinstance是否已设置

public class killtriger : MonoBehaviour {

    void OnTriggerEnter2D(Collider2D theObject){
        if (theObject.tag == "Player") {
            playercontroler.sharedinstance.KillPlayer ();
        }
    }

}

还要确保变量名是正确的。代码中有变量sharedistance和sharedinstance。它们用于不同的对象,但我认为它们应该具有相同的名称。

您应该在脚本中使用类名ie
PlayerControler
,而不是
PlayerControler
,因为它是一个单音,我想如果我没记错的话,您需要初始化静态变量。尝试公共静态播放控制器sharedinstance=null@armnotstrong不,它应该是
PlayerControler
,因为它是一个类名:
public class PlayerControler
->
public class PlayerControler
@Draco18s-hmm,没有注意到这一点
public class killtriger : MonoBehaviour {

    void OnTriggerEnter2D(Collider2D theObject){
        if (theObject.tag == "Player") {
            playercontroler.sharedinstance.KillPlayer ();
        }
    }

}
public class killtriger : MonoBehaviour {

    void OnTriggerEnter2D(Collider2D theObject){
        if (theObject.tag == "Player" && playercontroler.sharedinstance) {
            playercontroler.sharedinstance.KillPlayer ();
        }
    }

}