kanzi Prefab View2D异步加载入场动画实现方案

背景:kanzi 的Prefab View2D在加载多资源控件时候,为了保持画面流畅,会选择异步加载。

官方说法
当您异步加载预设件资源时,Kanzi 使用单独线程来加载资源。当 Kanzi 完成资源的加载时,它会使用主要线程部署这些资源。通过这种方式,您的应用程序会在加载资源时保持自适应。

问题

在实际项目中,控件节点都会要求有入场动画,在结合异步加载后,往往看不到入场动画效果,这是因为异步加载条件和动画状态机条件一样,导致异步加载后,状态机状态没有发生跳变,无法完成动画过渡。

在这里插入图片描述

解决方案

借用本地属性Complete,完成状态机状态切换
在这里插入图片描述

kanzi demo

在这里插入图片描述

  • 点击按钮AysncLoad,设置NewPropertyTypeAsync=1
  • 点击按钮AysncUnLoad,设置NewPropertyTypeAsync=0
    在这里插入图片描述
  • 如果NewPropertyTypeAsync=1NewPropertyTypeLoadComplete=0,就进行异步加载,这里延迟1s是为了演示。
    在这里插入图片描述
    异步加载完成设置NewPropertyTypeLoadComplete=1
    在这里插入图片描述

预设件内部状态机控制值绑定

a={#RootPage/PluginDataSourceGlobal.NewPropertyTypeAsync}
b= {#Prefab View 2D_2/PluginDataSourceGlobal.NewPropertyTypeLoadComplete}
a * b

在这里插入图片描述

动图

请添加图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值