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