角色死亡思想:
- 创建一个空物体,设置为触发器,当角色触碰的时候则重新进入场景
代码:
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秒后执行
更新场景的思想:
- 在canvas里面创建panel和text
- 创建空对象,设置为触发器,检测按到某个键时更新场景
代码:
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上面)