从一个脚本访问另一个脚本中的方法

本文关键字:脚本 访问 另一个 方法 一个 | 更新日期: 2023-09-27 18:13:55

我有一对用c#编写的脚本,其中一个脚本从另一个脚本调用方法。然而,我得到以下错误:

Member 'PlayerActions.Attack()' cannot be accessed with an instance reference; qualify it with a type name instead

这里是我要调用的方法所在的位置:

public class PlayerActions:MonoBehaviour{
    public static void Attack(){
        Debug.Log("Attacking");
    }
}

这里是我试图调用方法的地方:

public class Combat:MonoBehaviour{
    PlayerActions playerActions;
    void Start(){
        playerActions = GetComponent<PlayerActions>();
        playerActions.Attack();
    }
}

两个脚本都附属于同一个Game Object。

谁能告诉我如何修复我上面提到的错误,为什么我实际上得到的错误?我一直认为你需要引用你试图获得访问的类,但从我的理解,这个错误是另有说明。

从一个脚本访问另一个脚本中的方法

删除static修饰符,您的代码将工作!

public class PlayerActions:MonoBehaviour{
    public void Attack(){
        Debug.Log("Attacking");
    }
}