kanzi--属性插值、状态机、动画

核心思路:三个工具的本质都是"改变属性"

在 Kanzi 中,UI 的外观和行为由属性 决定。

动画、状态机、属性插值 都是为了让属性发生变化,只是变化的方式和用途不同。

  • 动画:按预设的时间线改变一个或多个属性 → 属性变化会触发绑定的更新 → 从而改变 UI。

  • 状态机:根据逻辑状态切换,直接改变属性(可瞬间或过渡) → 属性变化同样触发绑定。

  • 属性插值:让一个属性平滑地"跟随"另一个源属性 → 跟随过程中不断改变目标属性。

一、核心定义

概念 一句话定义
属性插值 让一个属性平滑地跟随另一个属性(或目标值)的变化,自动计算中间过渡。
状态机 定义一组离散的逻辑状态(如白天/黑夜),以及状态之间的切换规则。
动画 让一个或多个属性按照预设的时间曲线变化(关键帧、累加器等)。

二、行为特点对比

维度 属性插值 状态机 动画
变化方式 连续、动态跟随(起点=当前值,终点=目标值) 离散跳转(可加过渡动画使其平滑) 连续、预设路径(起点和终点固定)
触发条件 监听的源属性值一改变就自动跟随 由用户交互、绑定、代码触发状态切换 需要显式调用 Play,或 Autoplay 自动播放
是否可循环 不支持循环,只做一次跟随 状态切换可双向多次发生 支持循环(Repeat Count / Infinite)
是否可预设关键帧 否(只根据目标值插值) 否(但切换时可加过渡动画) 是(关键帧动画的本质)
对动态目标值的响应 自动、实时响应任意变化 只能跳转到定义好的状态 不响应目标变化,只按预设路径执行

三、典型使用场景

工具 最适合做什么
属性插值 仪表盘指针、音量条、温度计等实时数据驱动的平滑指示器
状态机 界面模式切换(白天/黑夜、登录/未登录、菜单展开/收起)、页面流控制。
动画 循环加载图标、进场/退场特效、进度条填充、复杂的关键帧特效(如充电线流动)。

四、组合使用示例

场景:一个按钮,点击后文字从"开"变"关",同时背景颜色从蓝渐变到红。

  • 状态机 负责:定义 On / Off 两个状态,并在每个状态下设置文字内容。

  • 动画 负责:创建一段颜色渐变的关键帧动画。

  • 状态机过渡动画 负责:在状态切换时,自动播放背景颜色的渐变过渡。

  • 属性插值(可选):如果背景颜色要跟随某个实时数据(如温度)变化,则用插值器使其平滑移动。


五、理解记忆图

复制代码
逻辑跳转  ←→  状态机
视觉连续  ←→  动画 / 属性插值

动画:预设路径,定时执行,适合重复或固定轨迹。
插值:动态跟随,随目标而变,适合实时数据。

六、一句话记住

状态机管"是什么模式",动画管"怎么按预设动",属性插值管"怎么平滑追随目标"。

相关推荐
Emerson_20264 小时前
kanzi--离屏渲染
hmi·离屏渲染·智能座舱·kanzi
不喝水就会渴6 小时前
HarmonyOS 动画实战:从「喵屿」看提醒与删除动效的三种实现
华为·交互·动画·harmonyos·鸿蒙
向宇it3 天前
【AI视频】生成AI短剧、漫剧
人工智能·ai·音视频·动画·ai视频·短剧
winlife_3 天前
让 AI 写敌人状态机,并用脚本化场景验证状态转换正确:funplay-unity-mcp 实战
人工智能·unity·游戏引擎·ai编程·状态机·mcp
三易串口屏5 天前
实验22 心跳曲线实验
stm32·tft屏·hmi·三易串口屏·嵌入式ui
Tisfy9 天前
LeetCode 3121.统计特殊字母的数量 II:状态机
算法·leetcode·题解·状态机
都在酒里12 天前
STM32有限状态机(FSM)详解,综合应用总结(二)
stm32·单片机·嵌入式硬件·状态机
2601_9560028112 天前
钢铁雄心4/Hearts of Iron IV2026官方正版最新版pc免费下载(看到请立即转存 资源随时失效)手机版通用
大数据·游戏·游戏引擎·动画·游戏策划
HwLib慧兰博13 天前
全新C#上位机框架SuperSCADA正式发布
上位机·plc·hmi·c#上位机