当我运行代码时,我不断收到此错误,但我无法确定问题是什么:
错误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);
}
答案 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);