我有一个简单的过场动画,在游戏开始时播放。但如果退出到主菜单并重新开始游戏,过场动画不会再播放,只会停留在黑屏状态,好像场景是空的。但从日志中可以看到,脚本正在运行。如何让它重置并重新播放?以下是我使用的脚本:

public class SceneChanger : MonoBehaviour

{

public float changeTime;

public string sceneName;

public Button skipButton;

public GameObject skipPanel;

public PlayableDirector currentTimeline;

void Start()

{

Debug.Log("SceneChanger Active");

skipPanel.SetActive(false);

currentTimeline.Play();

if (skipButton != null)

skipButton.onClick.AddListener(SkipScene);

}

// 每帧调用一次 Update

void Update()

{

changeTime -= Time.deltaTime;

if(changeTime <= 30)

{

Debug.Log("Skip panel active");

skipPanel.SetActive(true);

}

if(changeTime <= 0)

{

SceneManager.LoadScene(sceneName);

}

}

private void SkipScene()

{

currentTimeline.Pause();

Debug.Log("Skip clicked");

SceneManager.LoadScene(sceneName);

}

}