第 6 步 - 添加应用程序状态

在本步骤中,您将学习如何创建和使用应用程序状态。

创建状态

使用 State Manager 在您的 Kanzi 应用程序中创建不同的状态。

State Tools 窗口显示您在 Node Tree 或 Prefabs 窗口中所选节点的 State Manager。

您可以在 Preview 窗口下方找到 State Tools 窗口。

../../_images/car-create-state-manager.png

在本节中,您将使用 Kanzi Studio State Tools 创建状态机并定义应用程序状态。

要创建状态:

  1. 在 Activity Browser 窗口中,点击 Settings 活动旁的 激活 以激活该活动。

    ../../_images/activity-browser-car.png
  2. 在 Prefabs 窗口中,选择 CarScene 预设件。

    ../../_images/project-car-node.png
  3. 在 State Tools 窗口中,点击 Create State Manager。

    点击 Create State Manager 时,Kanzi Studio:

    1. 创建状态机

    2. 将状态机分配给所选节点

    3. 将 State Tools 窗口设置为 Edit 模式。

      当 State Tools 窗口处于 Edit 模式时,Preview 窗口的选项卡和边框会变为橙色。

    小技巧

    当 State Tools 窗口处于 Edit 模式时,Kanzi Studio 会跟踪您对所选节点及其树中的属性值所做的所有更改。如果您没有更改应用程序中状态的定义,请关闭 State Tools 的编辑模式。

    ../../_images/car-create-state-manager.png
  4. 在 State Tools 中,双击 Create State 以创建两个状态。双击每个状态的名称并重命名这些状态。

    例如,将一个状态命名为 Side,另一个命名为 Front。

    ../../_images/state-tools-two-states-renamed.png
  5. 使用 State Tools 来设置应用程序在该状态下的外观:

    1. 在 Prefabs 窗口中,选择 CarScene > RootNode > CameraRoot 节点。在 Properties 窗口中,添加 Render Transformation 并将其 Rotation Y 属性字段设置为 20。

      通过此设置,您可以旋转包含 Camera 节点的节点,从不同角度显示汽车模型。

      ../../_images/project-car-camera_root.png ../../_images/properties-camera_root-rotation-y-side.png
    2. 在 State Tools 窗口中,在 Side 状态中点击 set-current-state。

      点击 set-current-state 时,Kanzi Studio 会将您更改的属性值保存到该状态。

      ../../_images/state-tools-side-set.png
  6. 重复上一步,但将 Render Transformation Rotation Y 属性字段设置为 -20,并将更改保存到 Front 状态。

    ../../_images/properties-camera_root-rotation-y-front.png ../../_images/state-tools-front-set.png

    小技巧

    当 State Tools 窗口处于 Edit 模式时,您可以单击该 State Manager 中的任何状态,以查看您的应用程序在该状态下的外观。

  7. 单击 Edit State Manager 以退出 State Tools Edit 模式。

    ../../_images/state-tools-off1.png

设置应用程序状态

在本节中,您将在 Kanzi 应用程序中创建一个按钮,让应用程序用户可以在上一节创建的状态之间进行切换。

要设置应用程序状态:

  1. 在 Prefabs 窗口中,按 Alt 并右键单击 Car 预设件并选择 Button 2D。

    ../../_images/car-create-button.png
  2. 在 Properties 窗口中,添加 Horizontal Alignment 和 Vertical Alignment 属性,并将两者都设置为 Stretch。

    通过此设置,您将 Button 2D 节点的大小设置为与 Viewport 2D 相同,即整个屏幕。这样,应用程序用户可以点击 Car Activity 中的任意位置与按钮交互。

    ../../_images/button-alignment-stretch.png
  3. 在 Node Components 中,按 Alt 并右键单击 Button: Click 触发器,并选择 Dispatch Message Action > State Manager > Next State。

    使用 Next State 操作进入您在此操作中设置的状态管理器的状态组中的下一个状态。

    ../../_images/add-next-state-action.png
  4. 在 Next State 动作中,设置:

    • Target Item 到 Prefabs/CarScene/CarScene

    • State Group 到 StateGroup

    ../../_images/next-state-action-settings.png

在 Preview 窗口中,当您点击 Car Activity 中的任意位置(Next 和 Previous 按钮除外)时,即在 Side 和 Front 应用程序状态之间切换。

../../_images/getting-started-step-6.gif

接下来该做什么?

在本教程中,您通过创建简单的 Kanzi 应用程序学习了 Kanzi Studio 功能。现在您可以开始学习如何使用 Kanzi:

  • 完成教程。请参阅 教程。

  • 阅读有关使 Kanzi 运行的基本概念。请参阅 Kanzi 基础知识。

  • 探索 Kanzi 功能的详细信息。请参阅 使用 …。

  • 确保将您的 Kanzi 应用程序的性能优化到最佳状态。请参阅 最佳实践。

获取帮助

要在 Kanzi Studio 中打开 Kanzi 文档,请按 F1。

Kanzi Studio 在默认浏览器中打开 Kanzi 文档。

../../_images/kanzi-documentation.png

另请参阅

要了解有关使用状态机的更多信息,请参阅 使用状态机。