Kanzi 3.9.5 迁移指南

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

对网格顶点数据处理的更改

当您在不支持半浮点网格顶点属性的目标设备上加载 Kanzi 应用程序时,Kanzi 不再自动将顶点数据从半浮点转换为浮点。

如果您的目标设备不支持半浮点顶点属性,请在 Kanzi Studio 中将网格属性设置为使用浮点数据类型。请参阅 为网格特性设置最佳的数据类型。

文本布局中的更改

Kanzi 现在在 Text Block 和 Text Box 节点中布局文本时应用字体中设置的字体提示。这会稍微改变字符的位置。

请参阅 设置字体提示。

对光源节点 (Light nodes) 的更改

移除了 Light::EnabledProperty。使用 Node::VisibleProperty 来控制灯是否打开。

弃用这些函数:

  • Light::isEnabled()。请改用 Node::isVisible()。

  • Light::setEnabled()。使用 Node::setVisible() 代替。

Kanzi Studio 自动将已禁用光节点的项目转换为使用 Node::VisibleProperty。

对 2D 节点几何体的更改

Kanzi 现在对大多数 2D 渲染使用共享静态几何体。这些函数返回的几何体不保证与渲染几何体的大小匹配:

  • NodeVisual2D::getForegroundGeometry()

  • NodeVisual2D::getBackgroundGeometry()

  • NodeCompositor2D::getBlitGeometry()

  • NodeCompositor2D::getClearGeometry()

要使用自定义画笔实现前景或背景几何图形的自定义渲染,请使用新的 NodeVisual2D::renderForeground() 和 NodeVisual2D::renderBackground() 重载,这些重载允许使用自定义画笔渲染器。

要将 NodeVisual2D 或 NodeCompositor2D 返回的前景、背景、blit 或清除几何体转换为节点的局部空间,请使用这些新的局部变换获取器返回的变换:

  • NodeVisual2D::getForegroundLocalTransformation()

  • NodeVisual2D::getBackgroundLocalTransformation()

  • NodeCompositor2D::getBlitLocalTransformation()

  • NodeCompositor2D::getClearLocalTransformation()

Kanzi Engine Java 插件的 Debug 和 Release 构建类型支持的更改。

从 Kanzi Studio 3.9.5 开始,Kanzi Engine Java 插件的路径必须包含 lib/java/<BuildType>。例如:

  • 对于调试,请参阅 <ProjectName>/Application/lib/java/Debug/<PluginName>.jar。

  • 在发布时,<ProjectName>/Application/lib/java/Release/<PluginName>.jar。

如果 Kanzi Engine Java 插件文件路径不包含插件构建配置,Kanzi Studio 会发出此警告,并且不会导入或更新插件。

../../_images/java-plugin-import-warning-message.png

要迁移您的 Kanzi 应用程序:

  1. 在 <ProjectName>/Application/configs/platforms/android_gradle/<PluginName>/build.gradle 文件中,替换

    destinationDir = file("${rootDir}/../../../lib/java")
    

    通过

    destinationDirectory = file("${rootDir}/../../../lib/java/${buildType.name.capitalize()}")
    

    通过这种方式,您可以设置正确的路径,插件的 Gradle 脚本将在该路径导出 JAR 文件。

  2. 在 Kanzi Studio 中,在 Library > Kanzi Engine Plugins 中,右键单击每个 Kanzi Engine 插件并选择 Delete。

    ../../_images/java-plugin-remove.png
  3. 在 Library > Kanzi Engine Plugins 中,右键单击 Kanzi Engine Java 插件的名称,然后选择 Import Kanzi Engine Plugin。在文件资源管理器中,选择并导入 JAR 文件。Kanzi Engine Java 插件的路径必须包含 lib/java/<BuildType>。例如:

    • 对于调试,请参阅 <ProjectName>/Application/lib/java/Debug/<PluginName>.jar。

    • 在发布时,<ProjectName>/Application/lib/java/Release/<PluginName>.jar。

    ../../_images/java-plugin-import.png

更改为 Kanzi Gradle 插件版本。

要迁移您的 Kanzi 应用程序, 在 <ProjectName>/Application/configs/platforms/android_gradle/build.gradle 文件中替换

classpath 'com.rightware.gradle:kanzi:0.6.2'

通过

classpath 'com.rightware.gradle:kanzi:0.7.1'

对 Kanzi Engine 插件静态注册代码的更改

创建带有 Kanzi Engine 应用程序的项目的 Kanzi Studio 模板现在使用 KANZI_CORE_API_IMPORT 宏来确定是静态还是动态注册插件组件。使用早期版本的 Kanzi 创建的应用程序默认情况下静态注册所有插件组件。

要在您使用早期版本的 Kanzi 创建的应用程序中动态注册插件组件,请在从 Application 类派生的类中,替换

#if !defined(ANDROID) && !defined(KANZI_API_IMPORT)

通过

#if !defined(ANDROID) && !defined(KANZI_CORE_API_IMPORT)

另请参阅

Kanzi 3.9.5 发行说明

已知问题