using UnityEngine; using UnityEngine.SceneManagement; using UnityEngine.Video; public class VideoSceneAutoJump : MonoBehaviour { [Header("拖拽场景里的VideoPlayer")] public VideoPlayer videoPlayer; [Header("播放结束跳转的目标场景名称")] public string nextSceneName; void Start() { // 场景加载完毕,自动播放视频 videoPlayer.Play(); // 监听视频播放结束事件 videoPlayer.loopPointReached += OnVideoPlayEnd; } // 视频完整播放结束自动执行 void OnVideoPlayEnd(VideoPlayer player) { // 解除事件订阅,防止多次触发 player.loopPointReached -= OnVideoPlayEnd; // 跳转到最终场景 SceneManager.LoadScene(nextSceneName); } // 安全销毁解绑,杜绝内存泄漏 private void OnDestroy() { if (videoPlayer != null) { videoPlayer.loopPointReached -= OnVideoPlayEnd; } } }