2014-09-03 111 views
0

我一直在爲一個學校項目開發一個統一的遊戲。目前我正在嘗試在比賽開始前進行倒數計時。我確信這是基礎知識,但我對Unity相當陌生。在Unity中切換精靈

這是我的腳本:

using UnityEngine; 
using System.Collections; 

public class StartScreen : MonoBehaviour { 

    static bool sawOnce = false; 

    // Use this for initialization 
    void Start() { 
     if(!sawOnce) { 
      GetComponent<SpriteRenderer>().enabled = true; 
      Time.timeScale = 0; 
     } 

     sawOnce = true; 
    } 

    // Update is called once per frame 
    void Update() { 
     if(Time.timeScale==0 && (Input.GetKeyDown(KeyCode.Space) || Input.GetMouseButtonDown(0))) { 
      Time.timeScale = 1; 
      GetComponent<SpriteRenderer>().enabled = false; 

     } 
    } 
} 

我想三個不同的精靈之間改變之前 「Time.timeScale = 1;」和「GetComponent()。enabled = false;」之後。每個精靈都應該在下一個精靈出現之前顯示一秒鐘。

回答

0

您應該創建一個帶有等待語句的新函數。 這樣的事情會起作用。

void Update() { 
    if(Time.timeScale==0 && (Input.GetKeyDown(KeyCode.Space) || Input.GetMouseButtonDown(0))) { 
     Time.timeScale = 1; 
     changeSprites(); 
     GetComponent<SpriteRenderer>().enabled = false; 

    } 
} 
    IEnumerator changeSprites(){ 
     GetComponent<SpriteRenderer>().sprite = SPRITE1 
     yield return new WaitForSeconds(1); 
     GetComponent<SpriteRenderer>().sprite = SPRITE2 
     yield return new WaitForSeconds(1); 
     GetComponent<SpriteRenderer>().sprite = SPRITE3 
     yield return new WaitForSeconds(1); 
    } 

} 
+0

changeSprites();給我一個解析錯誤 – Crocus 2014-09-03 09:44:13

+0

添加一個分號;在每個精靈線之後。顯然,將SPRITE1更改爲實際的精靈。對不起,忘了它 – Kashbel 2014-09-03 11:41:11