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

在这里插入图片描述

动图

请添加图片描述

相关推荐

  1. unity实现2D主角视野锥解决方案

    2024-04-29 19:10:03       19 阅读
  2. vue2 实战动态组件,异步组件

    2024-04-29 19:10:03       19 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-29 19:10:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-29 19:10:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-29 19:10:03       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-29 19:10:03       20 阅读

热门阅读

  1. 【星海出品】前端和后端交互的python EEL小技巧

    2024-04-29 19:10:03       13 阅读
  2. centos学习-掌握核心命令之-yum

    2024-04-29 19:10:03       13 阅读
  3. 【二叉树算法题记录】101. 对称二叉树

    2024-04-29 19:10:03       10 阅读
  4. 【Docker】常见命令汇总

    2024-04-29 19:10:03       14 阅读
  5. 力扣56. 合并区间

    2024-04-29 19:10:03       10 阅读
  6. 基于单片机的家居智能系统设计与实现

    2024-04-29 19:10:03       13 阅读