Unity 协同 StartCoroutine()

协同作用

触发执行一段代码,中间等待一定时间后再继续执行。

步骤:

  1. 【创建】一个方法,要求方法返回:IEnumerator类型
  2. 将代码段放入方法中
  3. 在需要等待的位置,【插入】返回值:yield return new WaitForSeconds(等待时间);
  4. 使用【协同函数】调用方法:StartCoroutine(方法);

代码实例

public class SynergyTest : MonoBehaviour
{
    public AudioClip clip1;
    public AudioClip clip2;

    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        //按W键顺序播放两段音乐
        if (Input.GetKeyDown(KeyCode.W))
        {
            //使用协同函数调用播放方法
            StartCoroutine(PlayClip());
        }
    }

    /// <summary>
    /// 播放clip1和clip2两段音乐
    /// </summary>
    /// <returns>返回值为等待时间</returns>
    
    IEnumerator PlayClip()
    {
        //定点播放clip1音乐
        AudioSource.PlayClipAtPoint(clip1, new Vector3(10, 10, 10));
        
        //返回等待时间,时间一到继续执行后面的代码
        yield return new WaitForSeconds(clip1.length);
        
        //定点播放clip2音乐
        AudioSource.PlayClipAtPoint(clip2, new Vector3(-10, -10, -10));
    }
}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值