Udemy-Unity制作类暗黑破坏神游戏记录-P70

2024-09-15
121看过
讲解关于协程的知识,通过协程加载场景,在场景中创建一个用于加载场景的门户

Portal

  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using Unity.VisualScripting;
  4. using UnityEngine;
  5. using UnityEngine.SceneManagement;
  6. namespace RPG.SceneMangement
  7. {
  8.     //// Portal 类用于在玩家进入触发器时异步加载新场景
  9.     public class Portal : MonoBehaviour
  10.     {
  11.         [SerializeField] int sceneToLoad = 1;
  12.         float times = 0;
  13.         // 当触发器碰撞到其他对象时调用
  14.         private void OnTriggerEnter(Collider other)
  15.         {
  16.             // 如果碰撞的对象是玩家
  17.             if (other.tag == "Player")
  18.             {
  19.                 print("开始加载场景");
  20.                 times += Time.deltaTime;
  21.                 StartCoroutine(Transition());
  22.             }
  23.         }
  24.         private IEnumerator Transition()
  25.         {
  26.             
  27.             DontDestroyOnLoad(gameObject);
  28.             yield return SceneManager.LoadSceneAsync(sceneToLoad);
  29.             print(times + "秒后加载完成");
  30.             Destroy(gameObject);
  31.         }
  32.       
  33.     }
  34. }
复制代码


回复

举报

 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表