我正试图打开和关闭火灾,我已经设置了统一的白天周期但是我收到错误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();
}
非常感谢帮助,非常感谢您提前
答案 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;
然后从检查员那里为它分配一个游戏对象。