如何在时间轴中的给定时间触发脚本?

问题描述

我想知道是否有可能在Unity时间轴中的特定时间触发脚本。 我不希望在应用程序期间触发它,而只是在一定时间后才触发。 实际上,使用此脚本,用户将能够在触发脚本后立即在触摸屏上键入。 我的问题是,该脚本是从应用程序的开始启动的! 我们应该直接在时间轴中处理此问题还是应该修改脚本? 谢谢您的宝贵帮助

using UnityEngine;
using System.Collections;

public class SelectObject : MonoBehavIoUr
{

    void Update()
    {
        if (Input.GetKeyDown("escape"))
            Application.Quit();

        TapSelect();
    }

    void TapSelect()
    {
        foreach (Touch touch in Input.touches)
        {
            if (touch.phase == TouchPhase.Began)
            {
                Ray ray = Camera.main.ScreenPointToRay(touch.position);
                RaycastHit hit;
                if (Physics.Raycast(ray,out hit))
                {
                    
                    Application.OpenURL("https://www.");
                }
            }
        }
    }

}

解决方法

您需要的内容取决于您的UnityVersion,从2019.1起,UnityTimeline引入了Signals,这正是您所需要的(Unity拥有自己的videotutorial来指导它们如何工作)。

但是,如果您使用的是Unity的旧版本(DefaultPlayables可以检查资产存储,而this tutorial确实可以帮助我了解它们是如何工作的。)

其他良好的时间表参考:https://blogs.unity3d.com/es/2018/09/05/extending-timeline-a-practical-guide/