2014-11-14 62 views
-3

我試圖強制Unity每秒產生一個gameobject與協程,但我得到錯誤cs1502 & cs1503。 (抱歉,如果這是一個愚蠢語法錯誤)如何使用協程每秒產生一個遊戲對象。 (錯誤cs1502&cs1503)?

public class BossCannon : MonoBehaviour 

{ 


public BossBullet BossAmmo; 
public float Force; 
public bool trigger = false; 




void Start() 
{ 

} 



void Update() 
{ 
    if (trigger == true) 
    ShootBullet(); 
} 

void ShotPattern() 
{ 
    while (true) 
    { 
     StartCoroutine(Shoot); 
    } 
} 


public IEnumerator Shoot() 
{ 
    trigger = false; 
    yield return new WaitForSeconds(1f); //Waits 1 second 
    GameObject b = Instantiate(BossAmmo.gameObject, transform.position, transform.rotation) as GameObject; 
    trigger = true; 
} 

}

回答

0

嘗試使所述變換而不是遊戲對象的實例化。

Transform b = Instantiate(BossAmmo.transform, transform.position, transform.rotation) as Transform; 

你也開始你的協同程序錯誤。試試這個:

StartCoroutine(Shoot()); 

你得到的錯誤是無效的參數錯誤。一種方法需要一種類型,並且您正在傳遞另一種類型。

發佈編譯時得到的完整錯誤可能會有幫助。

還有一點需要注意:while(true)通常是一件可怕的事情。當你這樣做的時候,我懷疑Unity會突然鎖定在你身上。