2014-10-17 83 views
1

大家好我進入一個錯誤。我試圖讓一個計時器產生敵人,一旦你觸發了一個觸發器。定時器倒計時,但我遇到了這個錯誤Unity中的計時器錯誤

控制不能從一個案例標籤'case'EnemyTrigger''到另一個。

下面是代碼:

using UnityEngine; 
using System.Collections; 

public class SpawnManager : MonoBehaviour { 

public GameObject Enemy; 
public float mytimer = 5.0f; 

void OnTriggerEnter(Collider other) 
{ 
    switch(other.gameObject.name) 
    { 
     case "EnemyTrigger": 

      if(mytimer > 0){ 
       mytimer -=Time.deltaTime; 
       } 
      else 
      if(mytimer<=0){ 

       Destroy(other.gameObject); 

       Transform enemy; 
       GameObject enemySpawnPoint = GameObject.Find("EnemySpawn"); 

       enemy =  Instantiate(Enemy,enemySpawnPoint.transform.position,enemySpawnPoint.transform.rotation) as Transform; 
       Debug.Log("Spawned Enemy"); 
       break; 
       } 
     } 
    } 
} 

任何人能向我解釋什麼錯誤是在說什麼?而且我應該怎麼做才能改變它?

+0

你有一個錯字。檢查你的花括號,特別是在休息時間附近。 – 2014-10-17 23:24:47

+0

'break'在if裏面嗎? – 2014-10-17 23:25:31

回答

0

switch(other.gameObject.name) 
{ 
    case "EnemyTrigger": 

     if(mytimer > 0) 
      mytimer -=Time.deltaTime; 

     else if(mytimer<=0) 
     { 
      Destroy(other.gameObject); 

      Transform enemy; 
      GameObject enemySpawnPoint = GameObject.Find("EnemySpawn"); 

      enemy = Instantiate(Enemy,enemySpawnPoint.transform.position, 
         enemySpawnPoint.transform.rotation) as Transform; 
      Debug.Log("Spawned Enemy"); 

     } 

    break; 
} 

,因爲你有埋藏的一個else-if語句中的case相應break你都拿到錯誤的解決方案。

+0

謝謝,我現在看到,但現在我的計時器不倒計時。那麼有點。每次你進入觸發器,它都會倒計時並凍結。它不會自動以5-0自動倒計時。我怎樣才能解決這個問題? – Ghostdre 2014-10-17 23:39:40

+0

您需要編輯或創建一個新問題並解釋您正在嘗試執行的操作。我沒有任何線索。 – FunctionR 2014-10-17 23:45:26

+0

好的,謝謝你的幫助。 – Ghostdre 2014-10-17 23:46:46