我需要在玩家死亡或坠毁时弹出一个图像,但我不知道该怎么做,我正在尝试使用c#进行统一游戏 但我已经制作了一个代码,告诉用户在开始之前显示图像(点击开始图像),我想做的就是显示另一个告诉用户重新开始的图像 代码必须与此类似吗?还是我必须从头开始?
public class StartScreenScript : 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;
}
}
}
此代码显示一个图像,告诉用户点击屏幕,然后图像消失,直到用户关闭游戏然后重新开启,但是每次玩家死亡时我想显示“你死了的图像”有人请帮助我
p.s这是第二场比赛
答案 0 :(得分:0)
一种方法是使用Unity3D的GUI.DrawTexture给定纹理在给定位置绘制它。以下是对该方法的示例调用。
GUI.DrawTexture(new Rect(leftAnchor, topAnchor, textureWidth, textureHeight), textureSource);
答案 1 :(得分:0)
这是我的方法,在大多数情况下都适用:
GameObject
。应用精灵
或任何告诉用户点击重启的内容。GameObject
添加到PlayerController
,以便他可以
实例化它。PlayerController.ShowDeadScreen()
GameObject
时,它会调用你的
PlayerController.PlayAgain
功能并摧毁自己。所以你必须处理一切
游戏需要重新启动。public class PlayerController : MonoBehaviour {
public GameObject deadScreen;
void Start() { }
void Update() { }
public void ShowDeadScreen()
{
// show DeadScreen GameObject on the center of the screen
GameObject go = Instantiate(deadScreen, new Vector(0, 0, 0), Quaternation.Identity) as GameObject;
go.playerController = this;
}
public void PlayAgain()
{
// handle game restart
}
}
public class DeadScreen : MonoBehaviour {
public PlayerController playerController;
void Start() { }
void Update() { }
void OnMouseDown()
{
// when user clicks inside this GameObject start the game again
playerController.PlayAgain();
Destroy(this.gameObject);
}
}