Unity:简单角色死亡以及更新场景

角色死亡思想:

  1. 创建一个空物体,设置为触发器,当角色触碰的时候则重新进入场景

代码:

 if (collision.tag == "DeadLine")
        {
    
    
            Invoke(nameof(ReStart),1f);
        }
     `````
 private void ReStart()
    {
    
    
        SceneManager.LoadScene(SceneManager.GetActiveScene().name);
    }

知识点:

SceneManager.LoadScene(scenename)

加载名为scenename的场景

SceneManager.GetActiveScene().name

获得当前场景的名字

Invoke(FunctinoName,time);

函数FunctionName在time秒后执行

更新场景的思想:

  1. 在canvas里面创建panel和text
  2. 创建空对象,设置为触发器,检测按到某个键时更新场景

代码:

private void OnTriggerExit2D(Collider2D collision)
    {
    
    
        if (collision.tag == "DialogTrigger")
        {
    
    
            EnterDialog.SetActive(false);
        }
    }

private void OnTriggerEnter2D(Collider2D collision)
    {
    
    
    if (collision.tag == "DialogTrigger")
        {
    
    
            EnterDialog.SetActive(true);
        }
    }
 //
 void Update()
    {
    
    
        if (Input.GetKeyDown(KeyCode.E))
        {
    
    
            SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex);
        }
    }

这样我们只有在提示对话框显示的时候才会可以触发(因为绑定在panel上面)

猜你喜欢

转载自blog.csdn.net/m0_53438035/article/details/123880961