我试图从一个脚本调用一个函数到另一个脚本,但我得到:
 访问非静态成员FireBlock.FireOn()需要对象引用
具有我要调用的功能的脚本是FireBlock,其中包含该脚本,该脚本附加到与游戏对象连接的盒子对撞机上。

using UnityEngine;
using System.Collections;

public class FireBlock : MonoBehaviour {
public void FireOn ()
{
    collider.enabled=false;
}


这就是我试图在其他脚本中调用它的方式。

void Update ()
{

    FireBlock.FireOn ();
}


有什么想法我要去哪里吗?我尝试过将FireOn函数设为public static,只是无效但没有任何作用。

最佳答案

您需要创建FireBlock的实例,然后使用该实例调用该方法。

FireBlock fireBlock = new FireBlock();
fireBlock.FireOn();


由于FireOn是实例方法,因此不能使用类名来调用它。您只能对static方法执行此操作。

10-04 12:25