Unity - 错误CS1501:方法`#####'没有重载需要'1'参数

时间:2015-11-09 12:07:36

标签: c# unity3d

当我运行代码时,我不断收到此错误,但我无法确定问题是什么:

错误CS1501:方法checkStatus'没有重载'需要'1'参数

在我的敌人健康剧本中,我有:

void Update() 
{
    checkStatus (0);
}

public void checkStatus()
{
    if (currentHealth > maxHealth)
        currentHealth = maxHealth;

    if (currentHealth <= 0)
        death();
}

在我的playerAttack脚本中我有:

private void Attack()
{
    enemyHealth eh = (enemyHealth)target.GetComponent ();
    eh.checkStatus (-10);
}

2 个答案:

答案 0 :(得分:1)

好吧,错误信息应该是明确的 - 您使用单个参数调用checkStatus方法,而声明时没有参数。

您需要在方法声明中添加一个参数(并以某种方式使用它),或者您需要更改调用以不传递参数。

您的意图似乎是降低健康状况并检查角色是否幸免于难 - 如果是这样的话,这样的事情可能有效:

public void Damage(int amount)
{
  currentHealth -= amount;

  if (currentHealth > maxHealth)
    currentHealth = maxHealth;

  if (currentHealth <= 0)
    death();
}

答案 1 :(得分:0)

问题是,您将一个参数传递给checkstatus方法。通过添加参数或删除参数来解决它。

checkStatus (0);
eh.checkStatus (-10);