C# 从另一个脚本访问一个脚本中的方法
我有一对用C编写的脚本,其中一个脚本从另一个脚本调用一个方法。但是,我得到了以下错误: 无法使用实例引用访问成员“PlayerActions.Attack”;改为使用类型名称限定它 下面是我要调用的方法所在的位置:C# 从另一个脚本访问一个脚本中的方法,c#,unity3d,C#,Unity3d,我有一对用C编写的脚本,其中一个脚本从另一个脚本调用一个方法。但是,我得到了以下错误: 无法使用实例引用访问成员“PlayerActions.Attack”;改为使用类型名称限定它 下面是我要调用的方法所在的位置: public class PlayerActions:MonoBehaviour{ public static void Attack(){ Debug.Log("Attacking"); } } 下面是我尝试调用该方法的地方: public cla
public class PlayerActions:MonoBehaviour{
public static void Attack(){
Debug.Log("Attacking");
}
}
下面是我尝试调用该方法的地方:
public class Combat:MonoBehaviour{
PlayerActions playerActions;
void Start(){
playerActions = GetComponent<PlayerActions>();
playerActions.Attack();
}
}
两个脚本都附加到同一个游戏对象
有谁能告诉我如何修复我上面提到的错误,以及为什么我会得到这个错误?我一直认为您需要引用您试图访问的类,但据我所知,此错误是另一种情况。删除静态修饰符,您的代码将正常工作
public class PlayerActions:MonoBehaviour{
public void Attack(){
Debug.Log("Attacking");
}
}
删除静态修饰符,您的代码将正常工作
public class PlayerActions:MonoBehaviour{
public void Attack(){
Debug.Log("Attacking");
}
}
为什么不试着扔掉静态修改器呢?公开无效攻击是-照它说的做。使用类型名而不是实例,因为它是一个静态方法。@CùĐứ芝加哥ế你发表评论的时候,我做得很对,它修复了它。如果你愿意,回答这个问题,我会把它标记为接受。你为什么不试着扔掉这个静态修饰符呢?公开无效攻击是-照它说的做。使用类型名而不是实例,因为它是一个静态方法。@CùĐứ芝加哥ế你发表评论的时候,我做得很对,它修复了它。如果你愿意,回答这个问题,我会把它标记为接受。