Kanzi 3.5 迁移指南

使用此迁移指南将 Kanzi 应用程序从 Kanzi 3.4 更新到 Kanzi 3.5。

默认 3D 文本材质

默认的3D文本材质现在考虑了 Blend Intensity 属性。检查使用默认3D文本材质的 Text Block 3D 节点,并相应地修改内容以获得所需的渲染结果。

属性优先级

不再继承具有类优先级的属性值。

动画 (Animation)

Kanzi 3.5 引入了动画系统的更改,这需要您更新使用关键帧动画的项目。

属性驱动的动画

将使用早期版本的 Kanzi 创建的项目中的属性驱动动画替换为 Property Driven Animation Player。请参阅 创建属性驱动的动画。

替换 Background Animation 功能

Background Animation 属性不再可用。使用 Animation Player 来播放您之前使用 Background Animation 属性播放的关键帧动画。请参阅 使用关键帧动画。

替换 Play Animation 操作

Play Animation 操作已弃用,并将在 Kanzi 的下一个版本中移除。更改您的 Kanzi Studio 项目以使用 Animation Player 和动画播放操作来控制您的动画。请参阅 使用关键帧动画。

目标关键帧

目标关键帧不再可用。使用 Property Target Interpolator 将对象动画化到动态目标值。请参阅 插值属性值。

关键帧类

关键帧类使用 unique_ptr 而不是 shared_ptr。

资源属性

在早期的 Kanzi 版本中,节点通过资源 ID 属性引用所有资源。资源 ID 是一个字符串,由节点映射到实际资源。资源 ID 可以包含一个 URL 字符串或一个通过资源字典映射到 URL 的 ID 字符串。在 Kanzi 3.5 中,节点通过包含直接指针的属性引用资源。这种变化:

  • 您声明资源属性类型的方法。

  • 读取和写入所读写属性值的方法

  • ID 到 URL 映射的使用。

声明属性类型

在 Kanzi 3.4 中,当您希望属性引用资源时,您使用资源 ID 数据类型来声明属性类型。例如:

PropertyType<ReseourceID>

在 Kanzi 3.5 中使用

PropertyType<ResourceSharedPtr>

这些属性接受并直接返回资源指针。例如,要将纹理设置为 Image 节点,请使用

Image::setProperty(Image::TextureProperty, textureResource).

读写属性值

从资源管理器获取资源并将其设置为属性值。

建立间接资源引用

更改了将资源 ID 映射到资源字典中的值的方式。

例如:在早期版本的 Kanzi 中,要将 Image 属性值设置为资源 ID,您使用了

imageNode->setProperty(Image2D::ImageProperty, resourceId);

在 Kanzi 3.5 中,要将 Image 属性值设置为资源 ID,使用

BindingSharedPtr binding = Binding::create(domain);
binding->setSourceResource(resourceId);
binding->setTargetDynamicObjectProperty(".", Image2D::ImageProperty, PropertyFieldWhole);
imageNode->addBinding(binding);

Scroll View 坐标

Scroll View 2D 和 Scroll View 3D 节点的坐标已更改。

常规 (General)

  • 属性类型的名称需要 kzMakeFixedString。

  • ResourceDictionary::acquireResource() 现在需要正确格式化的 URL。

  • Node::acquireResource() 现在需要 ResourceID。

  • kzuMatrix4x4 更改为 Matrix4x4。

另请参阅

Kanzi 3.5 发行说明

已知问题