欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > 异步编程学习

异步编程学习

2025/2/23 1:10:33 来源:https://blog.csdn.net/m0_52021450/article/details/141925413  浏览:    关键词:异步编程学习
UniTask

UniTask
访问UniTask的GitHub的主页可以直接下载unity Package进行导入,或者通过 Package Manager导入,导入完成之后根据文档加一下 宏定义“UNITASK_DOTWEEN_SUPPORT”
这样就可以正常的控制DoTween了

在这里插入图片描述

2.UniTask 的简单使用

// UniTask 是可以作用到DoTween上的 
using Cysharp.Threading.Tasks;
using DG.Tweening;
using System;
using System.Threading;
using UnityEngine;
using UnityEngine.UI;public class UnitaskCancel : MonoBehaviour
{//当我们点击取消按钮的时候 会发送一个取消指令,接收到指令的UniTask都会取消// CacellationTokenSource 是原生的类private CancellationTokenSource cts = new CancellationTokenSource();[SerializeField] private Button cancelButton;[SerializeField] private Transform cube;private UniTask[] cancelTaskArray;private void Awake(){cancelButton.onClick.AddListener(cancel);InitUniTask();}private async void InitUniTask() {UniTask one = cube.DOMove(new Vector3(5, 0, 5), 2f).SetEase(Ease.InOutQuart).ToUniTask(cancellationToken:cts.Token);UniTask two = cube.DOScale(new Vector3(2, 2, 2), 5f).SetEase(Ease.InOutQuart).ToUniTask(cancellationToken: cts.Token);UniTask three = cube.DORotate(new Vector3(90, 90, 90), 2f).SetEase(Ease.InOutQuart).OnComplete(()=>{Debug.Log("CompleteDORotate");}).ToUniTask(cancellationToken: cts.Token);cancelTaskArray = new UniTask []{ one, two,three };// 等待全部的任务完成才会继续执行// 注意这里的任务 是一起开始的,如果想要一个一个完成 需要直接await 具体的Unitaskvar waitAll = UniTask.WhenAll(cancelTaskArray);//await UniTask.Delay(TimeSpan.FromSeconds(1f)) ;await waitAll;Debug.Log("Complete");}private void InitDotween() {cube.DOScale(new Vector3(2, 2, 2), 5f).SetEase(Ease.InOutQuart);cube.DORotate(new Vector3(90, 90, 90), 2f).SetEase(Ease.InOutQuart);cube.DOMove(new Vector3(5, 0, 5), 2f).SetEase(Ease.InOutQuart);}private void cancel() { cts.Cancel();}
}

下一篇 将会使用UniTask完成一个小案例

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词