在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;"之后的三个不同的精灵之间切换。每个精灵应该只显示一秒钟,然后下一个精灵才会出现。
您应该创建一个带有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);
}
}