unity3d 如何在C#/unitygames中加载死亡场景?

33qvvth1  于 2022-12-19  发布在  C#
关注(0)|答案(1)|浏览(122)

我还没有在这里张贴之前,但我一直在尝试一段时间,以创造一个游戏,并希望死亡/游戏结束排序的场景出现时,球员失去了所有3他们的生命。我有一个正常运作的游戏管理器,我的球员可以失去生命(他们有3个)。这都是在团结游戏中完成的,而且是二维的(idk如果有帮助的话)。我目前有其他的东西在我的场景加载器脚本,工作正常,所以我会张贴整个事情,但我有问题的底部最代码!谢谢!

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

public class SceneLoader : MonoBehaviour
{
  public string scenename;
  public GameManager GM;
 

 private void OnTriggerEnter2D(Collider2D collision)
  {
    if(collision.tag == "Player")
    {
      SceneManager.LoadScene(scenename);
    }
  }

    private void Deathscene()
    {
      if(GM.LifeTotal == 0)
        {
           SceneManager.LoadScene(Bob); 
        }
    }

}

Gamemanager script 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class GameManager : MonoBehaviour
{
public int PotionsCollected = 0;
public int LifeTotal = 3;

    public Text PotionsOutput;
    public Text LifeOutput;
    void Update()
    {
        PotionsOutput.text = "Potions: " + PotionsCollected;
          LifeOutput.text = "Life: " + LifeTotal;
    }

    public void CollectPotion()
    {
        PotionsCollected++;
    }
    public void UsePotion()
    {
        PotionsCollected--;
    }
    public void LoseLife()
    {
        LifeTotal--;
    }
}
bvjveswy

bvjveswy1#

你能做的是从你的Unity编辑器中进入文件-〉构建设置,然后在活动场景窗口中拖放你的死亡场景。
然后,窗口右侧将生成一个索引,您可以使用该索引加载场景。如下所示:

SceneManager.LoadScene("Use your generated index");

注意:使用索引作为数字,而不是字符串。
更新解决方案:

public void LoseLife() 
{
    LifeTotal--; 

    if(LifeTotal <= 0)
    {
         SceneManager.LoadScene("Use your generated index");
    }
}

我猜当敌人攻击你的玩家时就叫LoseLife()

相关问题