CS错误1501一致

时间:2014-08-14 04:56:38

标签: c# unity3d

我正试图打开和关闭火灾,我已经设置了统一的白天周期但是我收到错误CS1501:没有重载方法FireOn接受0参数并且无法弄清楚为什么我收到此错误。我有一个关于火坑附着火的课程,我试图打电话的方法是

void FireOn (GameObject ParticleEmitter) {
    ParticleSystem particlesystem = (ParticleSystem)gameObject.GetComponent("ParticleSystem");
    particlesystem.enableEmission = true;
}

我用来尝试调用方法的日夜循环代码是

    if (cur_time>22 || cur_time<9 && moon_alpha<1){
        moon_alpha+=Time.deltaTime*2f;
        NativeFireOnOff fire = new NativeFireOnOff();
        fire.FireOn();
    } 

非常感谢帮助,非常感谢您提前

2 个答案:

答案 0 :(得分:0)

您对FireOn的定义是声明该函数采用GameObject类型的参数,名称为ParticleEmitter:

void FireOn (GameObject ParticleEmitter) {

您正在调用没有参数的函数:

fire.FireOn();

因此,您需要将GameObject传入FireOn函数。无论粒子发射器在哪里,找到GameObject,然后将其传递给FireOn:

fire.FireOn(<name of your particle system's GameObject>);

错误信息可能有点误导,但它真正说的是它试图找到一个不带参数的FireOn版本,但它不能。

答案 1 :(得分:0)

错误告诉您它找不到带有0参数的函数FireOn,因为您的函数需要1个参数ParticleEmitter。要修复它,您需要在调用FireOn函数时传递GameObject。

传递参数的方式是错误的:

fire.FireOn(GameObject ParticleEmitter);

将其更改为:

fire.FireOn(ParticleEmitter);

通过这样做,您还需要声明一个变量:

public GameObject ParticleEmitter;

然后从检查员那里为它分配一个游戏对象。