在Unity中切换精灵

本文关键字:精灵 Unity | 更新日期: 2023-09-27 18:20:32

我一直在为一个学校项目开发一款游戏。目前我正试图在比赛开始前倒计时。我相信这是基本知识,但我对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;"之后的三个不同的精灵之间切换。每个精灵应该只显示一秒钟,然后下一个精灵才会出现。

在Unity中切换精灵

您应该创建一个带有wait语句的新函数。这样的东西会起作用的。

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