Kanzi 3.5 发行说明

新增功能

以下功能是 Kanzi 3.5 中的新功能:

功能改进

  • 改进了动画系统:

    • 您现在可以使用 Animation Player 来控制关键帧动画的播放。请参阅 使用关键帧动画。更新您的 Kanzi 应用程序以使用动画系统中的新功能。Play Animation 操作已弃用,并将在下一个版本的 Kanzi 中移除。请参阅 使用关键帧动画。

    • 改进了创建属性驱动的动画的工作流程。请参阅 创建属性驱动的动画。

    • 添加了插值属性值的功能。请参阅 插值属性值。

    • 已移除 Background Animation 属性。当您打开在早期版本的 Kanzi Studio 中创建的项目时,Kanzi Studio 会将 Background Animation 属性替换为 Animation Player。

    • 旧版动画及其 C API 已被移除。要了解旧版功能如何映射到新功能,请参阅 Kanzi 3.5 迁移指南。

  • 新的属性系统。属性系统现已完全转换为 C++,旧的 C API 已被移除。请参阅 资源属性。

  • 改进了异步加载

    • 将 Preload Resources 操作和 On Preloading of Resources Completed 替换为 Prefab View 节点功能。使用 Prefab View 节点在运行时异步加载资源。请参阅 使用节点预设。

    • 要在应用程序运行时使用 Kanzi Engine API 异步加载资源,请使用 ResourceManager::acquireResourcesAsync 和 Node::acquireResourceAsync。

    • 改进了异步加载的稳定性。

  • 为 Grid List Box、Scroll View、Slider 和 Trajectory List Box 3D 节点添加了焦点和键盘支持。

  • 可以通过状态管理器更改列表框中的 Item Template 属性。

  • 更新了 Performance HUD 以包含有关动画的信息,并使您能够设置 Performance HUD 显示的信息级别。请参阅 PerformanceInfoLevel。

  • 重构了 Node2D 的渲染。因此,Node2D 的 CPU 消耗减少了。请参阅 Node2D。

  • 在 Node2D 中引入了重置缓存的 API。请参阅 Node2D::resetCacheChildren。

  • 如果目录已添加,ResourceManager::addDirectoryFromFile 现在会抛出异常。

  • 在消息调度器中移除了消息队列支持。现在所有消息都会立即传递。在未来的 Kanzi 版本中,任务调度器将取代此功能。

  • SRTValue3D 不再包含欧拉角。使用四元数来描述3D对象的方向。

  • 将 BrushResource 类合并到 Brush 类。

  • 字体加载现在使用内存映射,您启动应用程序的内存映射时,该映射即启用。这使您能够提高应用程序的性能和内存消耗。

  • 添加了 Application::progressDeploymentQueueOverride。您可以使用它来按每帧控制部署多少资源。

  • 将 ApplicationProperties::graphicsLoggingEnabled 变量添加到应用程序配置中。

  • 改进了 Pages 窗口的可用性,包括高亮颜色:

    • 白色边框标记当前活动的 Page 或 Page Host 节点。

    • 节点顶部的紫色线标记一个 Page Host 节点。

    • 橙色边框标记在 Page Host 节点中的最后一个活动节点。

  • 改进了 State Tools 的可用性:

    • 在 State Tools 中为 List Box Item Container 公开了 Selected 属性。

    • 布局更简洁,包括改进了状态布局。

      ../../_images/state-tools-layout.png
    • 您现在可以编辑复杂的属性类型,例如矩阵属性如 Render Transformation 和资源如 Default Texture,而无需离开 State Tools 窗口。

      ../../_images/state-tools-complex-properties.png
    • 当您启用 State Tools 编辑模式时,Preview 窗口边框会变为橙色,使用自动记录按钮时,边框会变为红色。

      ../../_images/state-tools-edit-mode-preview.png ../../_images/state-tools-edit-mode-auto-record-preview.png
  • 在 Kanzi Studio 中彻底改进了与资源字典一起使用的界面和方法。新的 Dictionaries 窗口使您能够:

    • 管理节点中资源字典的内容。

    • 创建不同的资源类型,并将现有资源添加到您选择的资源字典中。

    • 在地区和主题中设置和编辑资源。

    请参阅 使用资源字典。

    ../../_images/dictionaries-white-type-gray-background.png
  • 添加了脚本的功能,使您能够:

    • 使用脚本在 Page 和 Page Host 节点之间导航。

    • 获取当前有焦点的节点。

    • 移除焦点。

  • 添加了绑定的功能,返回实例化预设件的控件。请参阅 预设件根绑定。

  • 对 Text Block 节点的改进:

    • Text Block 节点现在考虑了有关它们使用的字体中定义的字形和空格定位的更多信息。除其他事项外,这些更改允许您使用零宽连接符和零宽空格。

    • 使用 Horizontal Padding 和 Vertical Padding 属性控制文本填充。

    • 添加了 Fixed Character Width 属性。

      使用 Fixed Character Width 属性将任何字体转换为等宽字体。

    如果您在较早版本的 Kanzi 中创建了 Kanzi 应用程序,这些改进会改变文本在 Kanzi 3.5 中的外观。

  • 除了线和圆轨迹之外,您现在可以直接在 Kanzi Studio 中创建和配置角度、弧形、椭圆、矩形、螺旋和梯形轨迹。您可以在 Trajectory Layout、Trajectory List Box 3D 和 Slider 节点中使用这些轨迹。请参阅 轨迹 (Trajectories)。

    ../../_images/angle-trajectory.gif
  • 改善了 Localization Editor 的可用性。

  • 引入了更快的算法来生成网格法线。

  • 在 Kanzi Studio 中,您现在可以重新部署并启动应用程序 .apk 的最新构建,而无需构建它。

  • 添加了为每个应用程序放弃鼠标和触摸事件的功能。请参阅 EventSourceProperties。

  • 添加了 kzuFontGetDescender。

  • 添加了从现有 GL 手柄创建纹理的功能。

  • 公开了 UI 控制概念类的实现。

  • 提高了 Windows 和 Parallels 上 OpenGL 仿真的稳定性。

更改

  • Kanzi Studio 现在是 64 位的,这使您能够处理更大的项目。

  • Kanzi Studio 现在使用 .NET Framework 4.6.2。

  • 创建域的 API 已更改。域现在自行创建所有子系统。

  • 移除了对象深度和剪刀属性。

  • KzcColor 结构在所有地方都被 ColorRGBA 替换。

  • 更改了在应用程序恢复时如何恢复资源。您希望在恢复时自动恢复的资源必须可用,并且您必须将它们注册到资源管理器。

  • Texture API

  • 现在,重用标记为已处理的消息参数结构会生成异常。

  • 移除了 Kanzi Engine 中的套接字支持。

  • ResourceManager::purge 清除 Kanzi Engine 中的所有缓存。

  • 数据源现在为列表框项生成一致的名称。项名称基于预设名称,而不是数据。

  • 更新了 Kanzi 许可条款。请参阅 KANZI ONE SOFTWARE LICENSE TERMS。

文档 (Documentation)

修复

  • List Box Item Container Selected 属性现在可以正常工作。

  • 修复了灰度 PNG 图像的加载。

  • 修复了在某些情况下删除消息处理程序中的节点会崩溃的错误。

  • 修复了 Android 上的旋转问题。

  • 修复了 .apk 在后台运行且设备方向发生变化时的崩溃。

  • 修复了 Directional Light 向量的变换。

  • 修复了 PVRTC2 纹理的加载。

  • 修复了渲染通道中的模具测试配置。

  • 修复了带有 mipmaps 的 Render Target Texture 纹理。

  • 修复了 On Timer 触发器在间隔设置为 0 时不会崩溃的问题。

  • 修复了 GPU 内存分配大小的报告。

  • 修复了跳转到虚拟化列表框中的项目的问题。列表框不再在到目标项目的过程中取消虚拟化项目。

  • Windows 上的触摸事件不再生成鼠标事件。

  • 修复了 Android 上的 kzsFileBaseSetResourceDirectory。

  • 资源管理器现在仅在渲染之前加载资源。

  • 修复了包含复合字形的文本布局。

  • 修复了具有正交投影的视锥体剔除。

  • 修复了状态机以正确将笔刷属性动画化。

  • 修复了从任意页面到命名页面的迁移。

  • 修复了从磁盘文件(非 kzb 文件)恢复纹理的问题。从 PNG 和 JPEG 文件加载的纹理现在可以正确加载。

  • 修复了嵌套的 Grid Layout 节点。

  • 修复了 Button 上的 Double-Click Enabled 属性。

  • 修复了状态机在包含具有相同名称的状态时会停止工作的问题。

  • 修复了本地化相关的几个问题。

  • 修复了错误以提高 Kanzi Studio 和 Kanzi Studio Preview 的稳定性。

另请参阅

Kanzi 3.5 迁移指南

已知问题