2015-11-09 90 views
-1

我一直當我運行我的代碼得到這個錯誤,我不能完全看是什麼問題:團結 - 錯誤CS1501:沒有重載方法'#####」採取'1' 參數

錯誤CS1501:沒有重載方法的checkStatus'採取'1' 參數

在我enemyHealth腳本我有:

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); 
} 
+1

您試圖將0和-10傳遞給您的方法,但是您的方法不接受參數。 –

回答

1

那麼,錯誤信息應該是簡單的 - 你用一個參數調用checkStatus方法,而聲明時沒有參數。

您可能需要爲方法聲明添加一個參數(並以某種方式使用它),或者您需要將調用更改爲不傳遞參數。

看來,你的目的是既降低了健康檢查字符倖存下來 - 如果是這樣的話,這樣的事情可能工作:

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

    if (currentHealth > maxHealth) 
    currentHealth = maxHealth; 

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

這就是問題所在,你傳遞一個參數到你的checkstatus方法。通過添加參數或刪除參數來解決它。

checkStatus (0); 
eh.checkStatus (-10); 
相關問題