Kanzi教程

一、Kanzi Studio使用入门

1.1 kanzi studio整体界面

1.2 优先渲染

Kanzi 使用画家算法来渲染内容:将场景图中的最后一个节点优于场景图中的所有其他节点渲染。【后来的覆盖先前的】

1.3 kanzi节点

  1. Empty Node 2D:这是一个基本的二维节点,它没有特定的内容或行为。您可以将其用作其他UI元素的容器或占位符。

  2. Empty Node From Items:这种节点类型可以从一组项目中创建一个空节点。您可以选择多个项目,并使用此节点类型将它们组合在一起,以便进行统一的操作和布局。

  3. Dock Layout 2D:这是一个二维停靠布局节点,它允许您将子节点定位到父节点的边缘或角落。您可以使用这种布局来创建类似于工具栏或侧边栏的效果。

  4. FLow Layout 2D:这是一个二维流式布局节点,它按顺序排列其子节点,直到达到容器的边缘。然后,它会换行到下一行,并继续排列剩余的子节点。这种布局适用于创建列表或网格等线性布局。

  5. Grid LAyout 2D:这是一个二维网格布局节点,它将容器划分为行和列,并在每个单元格中放置一个子节点。这种布局适用于创建表格或栅格系统,以实现灵活且可调整的布局。

  6. Stack Layout 2D:这是一个二维堆栈布局节点,2D堆栈布局节点允许你在该节点下放置一系列的2D节点。2D堆栈布局中有一个属性Direction,用来控制堆栈中的节点按哪个方向排布,

  7. Trajectory Layout 2D:这是一个二维轨迹布局节点,它允许你根据预定义的轨迹动态定位子节点。这种布局适用于需要沿曲线或路径移动UI元素的情况,例如游戏中的飞行文本或动画效果。

  8. Grid List Box 2D:这是一个二维网格列表框节点,它将子节点以网格形式排列在一个可滚动的容器中。这种布局适用于显示大量相似项目的场景,例如图片库或文件浏览器。

  9. List Box Item Container 2D:这是一个二维列表框项目容器节点,它用作其他子节点的容器,以便在列表框中统一管理和显示。这种节点通常与Grid List Box 2D节点配合使用,以创建复杂的列表视图。

  10. Image:这是一个图像节点,用于显示图像或纹理。你可以加载多种格式的图像,并调整其大小、位置和透明度等属性。图像节点常用于背景、图标和游戏中的视觉元素。

  11. Nine Patch Image:这种节点类型用于显示所谓的“9图图像”(Nine-patch image),这是一种可伸缩的图像,通常用于背景和装饰性元素。9图图像由9个部分组成,每个部分可以独立地拉伸,允许图像在保持边缘和角落视觉质量的同时调整大小。

  12. Page:页面节点代表一个完整的屏幕或页面。它通常包含多个子节点,这些子节点共同构成页面的内容。页面节点可以用于创建导航和页面跳转的逻辑。

  13. Page Host:页面宿主节点是一种特殊的页面节点,它用于承载和管理其他页面节点。当使用页面导航时,页面宿主节点允许你切换不同的页面节点,以便在不同的视图或屏幕之间导航。

  14. Progressive Rendering Viewport 2D:这种节点类型用于实现二维视口的渐进式渲染。渐进式渲染是一种技术,它允许UI元素在滚动或移动到视口内时才开始渲染,从而提高性能并减少初始加载时间。

  15. Text Block 2D:这是一个二维文本块节点,用于显示文本内容。你可以设置文本的字体、大小、颜色、对齐方式等属性。文本块节点常用于标签、按钮、信息提示和长篇幅的阅读材料。

  16. Viewport 2D:这是一个二维视口节点,它定义了一个区域,在这个区域内的UI元素会被渲染出来。视口节点可以设置滚动条、裁剪边界等属性,以控制用户可以看到的内容。2D 视口 (Viewport 2D) 是一个特殊的节点,因为它可以渲染 2D 对象,例如图像 (Image)、页面 (Page)、2D 按钮 (Button 2D)和 3D 对象场景 (Scene)。2D 视口 (Viewport 2D)具有包含摄像机 (Camera) 方向光 (Directional Light) 场景 (Scene)

  17. Button 2D:2D按钮,这是一个二维按钮节点,用于创建一个可点击的按钮。您可以设置按钮的文本、图标、颜色以及点击时的行为。创建的2D按键是看不见的,除非你在按钮节点下放一张图片,图片的大小和位置就是按钮的大小和位置。

  18. Scroll VIew 2D:这是一个二维滚动视图节点,它允许用户通过滑动或使用鼠标滚轮来浏览超出视口大小的内容。滚动视图节点通常用于显示长列表或大量信息。

  19. Slider 2D:这是一个二维滑块节点,用于选择一个范围内的数值。滑块节点可以用于音量控制、时间轴选择等场景。

  20. Toggle Button 2D:这是一个二维切换按钮节点,它可以在两个状态之间切换,如开/关、是/否等。切换按钮节点常用于设置选项或执行操作。

  21. Toggle Button Group 2D:这是一个二维切换按钮组节点,它包含多个切换按钮,并确保一次只能选择一个按钮。这种节点适用于单选按钮组。切换按钮组 (Toggle Button Group) 节点可让用户从一系列互斥的选项中只选定一个选项。 切换按钮组中切换按钮的行为与单选按钮相似,一次只能有一个切换按钮处于活动状态。

  22. Alias:别名节点可能用于创建引用其他节点的别名,便于在复杂的UI结构中重用和管理节点。

  23. Bookmark:书签节点可能用于标记和快速导航到UI结构的特定部分,类似于网页的书签功能。

  24. Prefab Placeholder 2D:这是二维预制体占位符节点,用于在设计时预置一个位置,以便在运行时替换为实际的预制体。

  25. Prefab VIew 2D:Prefab View 2D节点用于表示二D的预设件视图。是Kanzi中用于显示和管理预设件实例的关键节点,它允许开发者在用户界面设计中实现模块化和重用性,从而提高开发效率和维护性。

  26. Resource Dictionary:资源字典节点可能用于存储和管理UI元素的资源,如样式、图像和字体等。

  27. Trajectory List Box 3D:3D轨迹列表框,可用于创建沿轨迹排列的项的可滚动列表。 Kanzi Studio 默认创建并使用圆形轨迹。您可以使用角度、弧形、圆形、椭圆、直线、矩形、螺旋、样条或梯形轨迹。

  28. Empty Node 3D:3D空节点

  29. Dock Layout 3D

  30. Flow Layout 3D:

  31. Grid Layout

  32. Stack Layout 3D

  33. Trajectory Layout 3D

  34. Grid List Box 3D

  35. List Box Item Container 3D

1.4 属性介绍

Layout.Item

     1. Layout Width(布局宽度):节点的宽度

     2. Layout Height(布局高度):节点的高度

     3. 水平对齐 (Horizontal Alignment) : 将节点与其父节点水平对齐

  • left:与父节点左对齐

  • center:与父节点居中对齐

  • right:与父节点右对齐

  • stretch:拉伸以适应其所在父节点的整个水平空间

     4.  垂直对齐 (Vertical Alignment);将节点与其父节点垂直对齐

  • Top:与父节点上对齐

  • Bottom:与父节点下对齐

  • Center:与父节点居中对齐

  • Stretch:拉伸以适应其所在父节点的整个垂直空间。

Vertical Margin:垂直边距

  • Top:上对齐边距
  • Bottom:下对齐边距

Horizontal Margin:水平边距

  • left:
  • Right: 

Text Block

   1. Font Size:字体大小

   2. Line Spacing:文本行之间的间距,Line Spacing是文本相关属性之一,通常用于调整文本块(如TextBlock2D)中行与行之间的垂直距离。

   3. Text Horizontal Alignment:文本的水平对齐方式。 

  •  Left   文本左对齐
  • Center   文本居中对齐
  • Right   文本右对齐

   4. Text Vertical Alignment:文本的垂直对齐方式

  •    Top
  • Center
  • Bottom

   5. Character Spacing:用于调整文本字符之间的间距

   6. Overflow:用于处理文本内容超出其容器边界时的行为。

  • OverflowHidden: 超出部分被隐藏,不会显示在TextBlock 2D组件外。
  • OverflowScroll:超出部分可以通过滚动查看,TextBlock 2D组件会提供滚动条。
  • OverflowVisible: 超出部分仍然可见,不会被裁剪或隐藏。

   7. Text:文本

   8. Word Wrap:用于确定文本在到达容器边界时是否换行到下一行。

   9. Constrain Content Height:用于限制文本内容的显示高度。

   10. Fixed Character Width:固定字符宽度,可用于将任何字体转换为等宽字体。

   11. Horizontal Padding:设置文本内容与其所包含区域边界之间的水平间距。

   12. Vertical Padding:设置文本内容与其所包含区域边界之间的垂直间距。

   13. Remove Side Bearings:

Grid Layout

   1. Column:当前节点所在的列(从0开始计算)

   2. Row:当前节点所在的行(从0开始计算)

Node

    1. Content Stretch:内容拉伸

  • None:内容不会进行任何拉伸,保持原始大小。

  • Fill:内容会被缩放以完全填充容器,同时改变内容的宽高比;如果内容的宽高比与容器不同,内容将被拉伸或压缩以填满整个容器,可能会导致内容变形。内容完全可见,可能会变形

  • Uniform:内容会被等比例缩放,直到填满容器的宽度或高度中的一个维度。保持内容的宽高比。内容完全可见,不变形。

  • Uniform to fill:内容会被等比例缩放,直到填满容器的宽度或高度中的一个维度,另一个维度可能会超出容器。这种方式会保证内容至少填充容器的一个维度,同时也可能导致内容的一部分不可见。内容可能会被剪裁以适应容器。内容不一定完全可见,可能会被裁剪,但不会变形。

  • Repeat:内容会在保持原始宽高比的情况下重复,直到填满整个容器。这种方式通常用于背景图像,使得图像在整个容器内重复显示,形成一个连续的图案。

   2.  Font:字库

 Brush

    1. Background Brush(背景笔刷):选择相应笔刷设置背景颜色,可以自己创建想要的颜色笔刷来该背景。创建 Kanzi Studio 工程时,它默认带有名为 DefaultBackground 的纹理笔刷 (Texture Brush),并且会绘制RootPage 节点的背景。背景笔刷包括颜色笔刷,纹理笔刷,材质笔刷。

   2. ForeGround Brush(前景笔刷):设置定义节点的前景色材质。具体应用:

  • (1)定义文本颜色:ForeGround Brush属性允许你为文本内容设置颜色,这可以确保文本在不同的背景上都能保持清晰可见。
  •  (2)应用材质效果:除了颜色之外,ForeGround Brush还可以与Material结合使用,以添加特效,如发光、阴影等,从而增强文本的视觉效果。

Button

  Index in Group:组内索引,当需要创建按钮组的时候,按钮组中的每一个按钮都需要添加这个属性,Kanzi 使用组内索引 (Index in Group) 属性来跟踪在切换按钮组 (Toggle Button Group) 节点中选定的切换按钮 (Toggle Button)。当组内索引 (Index in Group) 属性的值为 -1,切换按钮组 (Toggle Button Group) 节点会为切换按钮 (Toggle Button) 设置索引。添加组内索引属性后同一时间按钮组中只能有一个按钮被选中(即同一时间只有一个按钮的Toggle State值为1),如果不添加这个属性,可以同时选中多个按钮

例:未添加组内索引,同时选中两个按钮

添加组内索引,只能有一个被选中:

 

Transform 3D

  1. Layout Transformation:消耗CPU,在CPU中计算;布局变换是在应用布局通道前对项进行变换。

        Scale:缩放

        Rotation(degress);旋转

        Translation:平移

. 2. Render Transformation:消耗GPU,在GPU中计算;渲染变换是在应用布局通道后、渲染前对项进行变换。

        Scale:缩放

        Rotation(degress);旋转

        Translation:平移

始终使用渲染变换 (Render Transformation),除非您知道必须要重新计算布局。

   3. Render Transformation Origin(渲染变换原点)

        X:

        Y:

(在 Kanzi 中,所有 2D 节点的原点默认位于节点的左上角。 由于您要绕指针底部中心旋转指针,必须使用渲染变换原点 (Render Transformation Origin) 将中心点放在那里。)

Material

   1. Mesh Material(网格材质):对应Liarbry下的Materials and Textures下的Materials

   2. Texture:主要是图片,用于为3D模型提供表面细节的图像数据。

首先,纹理可以增加模型的视觉真实感和复杂度,使得模型看起来更加接近现实世界中的物体。在Kanzi Studio中,要加载和使用纹理,您可以通过素材库(Library)找到“材质和纹理”(Materials and Textures)部分。在这里,您可以右键点击并选择从磁盘加载材质类型(Load Material Type From Disk),以便将计算机中的纹理文件导入到您的工程中。

其次,在Materials列表中找到需要添加纹理的材质,例如“MainBody_1”,然后在Properties窗口中将Material Type属性设置为TextureMaterial。这样,您就可以将纹理应用到特定的材质上,从而在渲染时显示出相应的纹理效果。

此外,在Kanzi中,纹理通常以贴图的形式存在,可以包括颜色、图案、光影等不同的视觉效果。这些贴图可以被映射到3D模型的表面,以模拟不同的表面特征,如金属光泽、木纹、石材纹理等。通过调整纹理的各种参数,如缩放、旋转和平铺,可以进一步控制纹理在模型表面的显示效果。

   3. Ambient Color(环境颜色):如需更改材质的基色,调整该材料的 环境颜色 ,通过更改环境颜色 (Ambient Color) 颜色特性,您可以设置无光源时的材质颜色。

        Hue:色调

        Saturation:饱和度

        Lightness:亮度

        Alpha:阿尔法值

   4. Diffuse Color(漫发射颜色):产生哑光效果

   5. Emissive Color:(发射颜色)

   6. Specular Color(镜面反射颜色):镜面反射效果,通过这个属性可以设置反射的颜色,创建双色带哦车漆效果。

   9. Specular Exponent(镜面反射指数):镜面反射强度,通过设置镜面反射指数 (Specular Exponent) 属性调整反射效果的强度。

   3. Blend Intensity:控制材料在现有颜色上混合的强度,值越低过度会比较平滑,值越高,过度会比较突然,通过设置混合强度 (Blend Intensity) 属性调整颜色强度。

   4. Blend Mode:混合模式

  • Opaque:不透明模式,该模式下材质完全不透明,不会与其他材质或背景发生混合。
  • Alpha:Automatic:自动Alpha模式,这种模式下Kanzi会根据材质的alpha通道自动处理透明度,通常用于处理已经预先处理好的透明区域。
  • Alpha:Non-premultiplied:非预乘Alpha模式,此模式适用于没有预乘Alpha的源图像,即图像的Alpha通道和颜色通道是独立存储的。
  • Alpha:Premultiplied:预乘Alpha模式,适用于已经将Alpha通道与颜色信息相乘处理过的图像,常见于一些导出的图形文件。
  • Alpha:Mixed:混合Alpha模式,可能是指两种或多种Alpha模式混合使用的情况,具体取决于实现细节。
  • Additive:叠加模式,这种模式下新材质会被添加到背景上,通常用于实现光照效果或者高亮效果。

   5. CubemapColor 

   6. 选择使用在Library下的Materials and textures下的Texture下创建的Cube-map Texture(环境纹理贴图)。

要让两个元素的环境反射相同,就要使用相同的环境纹理贴图。

Scroll View

   1. Scroll Sensitivity‘(滚动灵敏度):设置相对于开始滑动时指针的位移,位置改变了多少。值越高,滚动视图 (Scroll View) 节点控制的对象的位置变化就越大。负值使对象向相反方向移动。

   2. Scroll Position(滚动位置):滚动位置 (Scroll Position) 是只读属性,可用于查找 2D 滚动视图 (Scroll view 2D) 节点 x 和 y 轴的当前值。

   3. Sliding Acceleration(滚动加速):设置您松开滑动所用的指针后对象的加速。要让滚动视图 (Scroll View) 节点控制的对象缓慢到达最终位置,使用低值。要让对象快速到达最终位置,使用高值。

   4. Sliding Drag(滚动阻力):设置您松开滑动所用的指针后拖动对对象的移动有多大影响。值越低,拖动越高,滚动视图 (Scroll View) 节点控制的对象的滑动停止越快。

通过滑动加速 (Sliding Acceleration) 和滑动阻力 (Sliding Drag) 属性,您可以调整滚动视图 (Scroll View) 节点在您释放滑动指针后如何移动对象。例如,在释放鼠标按钮后,或者手指离开设备屏幕后。要调整当按住滑动指针时滚动视图 (Scroll View) 节点如何移动对象,使用拖动加速 (Dragging Acceleration)、拖动阻力 (Dragging Drag) 和 拖动脉冲 (Dragging Impulse) 属性。

1.5 资源导入Import

1. 我们新建一个工程时会自动生成以下目录,将我们需要使用的资源拷贝到相应目录下,系统会将目录下的资源同步到Kanzi Studio中;

有时候这样导入会发生错误,因为可能某个目录下会有子目录,假设Images下面有一个ADAS_Big目录,ADAS_Big目录下有一个Target目录,我们按上面的方法拷贝Images文件时,会在Kanzi Studio中生成一个Adas_Big/Target目录,这个会报错,是因为文件命名不能有"/",解决办法是我们在Kanzi Studio的Images下面新建一个文件夹叫Target。

这里是time文件夹下有一个TimePointAnimation文件夹,导致在kanzi studio

生成time/TimePointAnimation文件夹报错,只需要在kanzi studio里面的Images下新建一个time文件夹就行了,然后报报错的文件夹删掉。

2. 导入 3D 资产时,Kanzi Studio 为每个 3D 资产创建:

  • 预设件 (Prefabs) 中,以导入文件命名的新场景 (Scene) 预设件。在该场景 (Scene) 预设件中,Kanzi Studio 从导入文件创建场景层级,并将导入文件中的资产放入该预设件中。
  • 素材库 (Library) 中,Kanzi Studio 放入导入文件中的所有资源,如网格 (Meshes)、样条 (Splines)、动画 (Animations) 材质 (Materials)。

3. 在将 3D 模型导入到 Kanzi Studio 中时,模型中使用的材质也将被导入。您可以在素材库 (Library) > 材质和纹理 (Materials and Textures) 的工程中看到所有可用的材质类型、材质、纹理和笔刷。 

1.6 分辨率设置

预览(Preview)窗口

1. 点击这个进入分析(Analyze)模式,检查应用程序的结构和性能,右键点击,,选择想要分析的类型:

Selection:该分析类型显示当前选中的UI元素及其属性。通过选择不同的UI元素,你可以查看它们的布局、样式和其他相关属性,以便进行进一步的分析和调试。

Debug objects:该分析类型显示当前页面上的所有UI元素及其属性。它可以帮助开发者快速定位和识别页面上的不同元素,以便进行调试和优化。

Allocated layout:该分析类型显示每个UI元素的分配布局信息。它包括每个元素的位置、大小、边距等布局属性,以及它们与其他元素的关系。这有助于了解元素之间的相对位置和布局规则。

Actual layout:该分析类型显示每个UI元素的实际布局信息。它包括每个元素的实际位置、大小、边距等布局属性,以及它们与其他元素的关系。这有助于了解元素在屏幕上的实际呈现情况。

Grid cells:该分析类型显示网格布局中的单元格信息。如果你的用户界面使用了网格布局(如栅格系统),这个分析类型将帮助你了解每个单元格的位置、大小和间距等信息。

Rylers and guides:该分析类型显示标尺和辅助线,用于帮助对齐和定位UI元素。它可以帮助开发者确保元素的准确布局和对齐方式。

Borders of 2D nodes:2D节点边框,画出了带条纹的2D节点的边框。这样可以显示出不可视的2D节点。该分析类型显示二维节点的边框。通过突出显示每个节点的边界,可以更容易地识别和区分不同的UI元素。

3D Grid:如果你的用户界面包含三维元素或动画,这个分析类型将显示一个三维网格,帮助你理解和调整三维空间中的布局和位置。

Bounding Volumes:对于三维元素,该分析类型显示它们的边界体积,这有助于了解和调整三维元素的大小和位置。

Framebuffer objects:该分析类型用于显示帧缓冲对象(FBO)的信息,这是一种用于离屏渲染的技术。它可以帮助你优化渲染性能和资源使用。

Undrawn area:该分析类型显示未绘制的区域,即那些没有UI元素或内容的区域。这有助于识别和消除不必要的渲染开销。

Transparency:该分析类型显示透明元素的信息,包括它们的透明度级别和重叠情况。这对于优化渲染性能和理解透明元素的叠加顺序非常有用

Performance HUD:性能HUD(Head-Up Display)分析类型提供了实时的性能指标,如帧率、内存使用情况等。这有助于监控和优化应用程序的性能表现。

Frame time HUD:帧时间HUD分析类型显示每一帧的渲染时间,帮助你分析和优化渲染性能,确保流畅的用户体验。

2. 在预览 (Preview) 窗口中点击可切换到交互 (Interact) 模式,在交互 (Interact) 模式中,您可以像在设备上一样在预览 (Preview) 窗口中与应用程序交互。

3. 在预览 (Preview) 窗口使用节点工具 (Node tool) ,在节点工具 (Node tool)的 对齐工具点击对应位置,可以使该节点与其父节点RootPage 节点的相应位置对齐。

使用节点工具 (Node tool)时,将鼠标指针移到节点手柄的中心以调整节点的大小,并移到手柄外侧以旋转节点,旋转时按住shift键以45度的增量旋转节点。

4. 在编辑 (Edit) 模式中,您可以编辑工程中的内容。选择任一预览 (Preview) 窗口工具进入编辑 (Edit) 模式。

5. 在 预览 (Preview) 中选择 节点工具 (Node tool),并点击  禁用对齐到节点和参考线。禁用对齐时,您可以使用节点工具 (Node tool) 在预览 (Preview) 中移动节点,使其不对齐到节点或参考线。就是可以随意移动节点的位置。

6. 用节点工具 (Node tool) 拖动节点时按住 Shift 键,将沿着真正水平或垂直直线移动节点。

Node Compoenents(节点组件)

1.触发器(Triggers)

ADD选项:用于添加一个动作,以响应特定的事件或条件。

Animation:

   Pause Animation Playback:暂停动画播放。当触发器被激活时,它会暂停当前正在播放的动画。

   Resume Animation Playback恢复动画播放。当触发器被激活时,它会恢复之前暂停的动画播放。

   Start Animation Playback开始动画播放。当触发器被激活时,它会启动一个新的动画播放。

   stop Animation Playback停止动画播放。当触发器被激活时,它会停止当前正在播放的动画

这些选项允许开发者通过触发器来控制动画的播放状态,从而实现更丰富的用户界面交互效果。例如,可以在按钮点击事件上设置一个触发器,当按钮被点击时,暂停或恢复动画的播放。这样可以实现动态的动画效果,增加用户体验的趣味性和互动性。

General

   Active Theme:激活主题。当触发器被激活时,它会将当前的主题切换为指定的主题。这可以用于实现动态的主题切换效果,例如在夜间模式和白天模式之间切换。

   Execute Script:执行脚本。当触发器被激活时,它会运行指定的脚本代码。这可以用于实现复杂的逻辑和交互效果,例如在特定条件下执行特定的操作。

   Set Property:设置属性。当触发器被激活时,它会修改指定对象的属性值。这可以用于改变UI元素的状态、样式或其他属性,从而实现动态的视觉效果。

   Write Log:写入日志动作,使用写入日志动作可以将消息打印到日志(Log)窗口。选择write log后会弹出一个框框,可以选择想要的宏<name>将含有该动作的节点名称打印到log窗口/eventname将含有该动作的时间名称打印到日志窗口。

Page

   Navigate To Page:可以导航到指定页面,当触发器被激活时,它会将用户导航到指定的页面。这可以用于实现页面之间的跳转和导航逻辑,例如点击按钮后跳转到另一个页面。

   Navigate To Parent:导航到父级页面。当触发器被激活时,它会将用户导航回当前页面的父级页面。这可以用于实现返回上一级页面的逻辑,例如点击返回按钮返回到上一页。

Page Host

   Navigate To Next:按顺序导航到下一个页面,当触发器被激活时,它会将用户导航到当前页面的下一个页面。这可以用于实现页面之间的顺序导航逻辑,例如点击按钮后跳转到下一个页面。

   Navigate to Previous:导航到上一个页面。当触发器被激活时,它会将用户导航回当前页面的前一个页面。这可以用于实现返回上一级页面的逻辑,例如点击返回按钮返回到上一页。

Prefab View

   Start Asynchronous Load:它用于启动一个异步加载操作,通常用于从远程服务器加载数据或资源。当触发器被激活时,Start Asynchronous Load动作将开始执行异步加载操作。这可以包括从远程服务器获取数据、加载图像、音频或其他资源等。异步加载允许应用程序在后台进行这些操作,而不会阻塞用户界面的响应性。

使用Start Asynchronous Load动作时,你需要指定要加载的资源或数据的相关信息,例如URL、文件路径或API调用参数等。你还可以设置一些额外的选项,如超时时间、错误处理和回调函数等,以控制异步加载的行为和结果。

通过使用Start Asynchronous Load动作,你可以实现更流畅和高效的用户界面体验,特别是在需要加载大量数据或资源的情况下。

Scroll View:用于控制滚动行为和滚动目标。

   Scroll Direction:这个动作允许你指定滚动的方向,可以是水平或垂直方向。你可以设置滚动方向为正向(向右或向下)或反向(向左或向上)。

   Scroll Edge:这个动作用于将滚动位置设置为页面的边缘。你可以设置滚动到页面的顶部、底部、左侧或右侧边缘。

   Scroll Page:这个动作用于将滚动位置设置为下一个或上一个页面。你可以设置滚动到下一个页面或上一个页面,具体取决于你的页面布局和导航结构。

   Set Scroll:这个动作允许你直接设置滚动位置的具体值。你可以指定滚动位置的像素值或百分比,以实现精确的滚动效果。

   Set Scroll Target:这个动作用于将滚动位置设置为指定的目标元素。你可以选择一个特定的UI元素作为滚动的目标,当触发器被激活时,滚动操作将自动定位到该元素的位置。

State Manager

   Go To State:这个动作允许你直接跳转到指定的状态。你可以选择一个特定的状态作为目标,当触发器被激活时,应用程序将立即切换到该状态。

   Next State:这个动作用于导航到下一个状态。它通常用于顺序导航,例如在一个页面序列中前进到下一个页面。你可以设置一个状态列表,并指定当前状态在列表中的下一个状态作为目标。

   Previous State:这个动作用于导航到上一个状态。与Next State类似,它也用于顺序导航,但方向相反。你可以设置一个状态列表,并指定当前状态在列表中的上一个状态作为目标。

焦点

   Move Focus:这个动作允许你将焦点从一个UI元素移动到另一个UI元素。你可以指定一个目标元素作为焦点的新位置,当触发器被激活时,焦点将自动移动到该元素上。

   Set Focus:这个动作用于直接设置焦点的位置。与Move Focus类似,你可以选择一个特定的UI元素作为焦点的目标位置。当触发器被激活时,焦点将被设置为该元素。

Trigger Settings

Set Message Handled:标记消息已被处理。当一个触发器拦截到一个消息时,它可以选择如何处理这个消息。如果设置为Set Message Handled,则意味着该触发器已经对该消息进行了处理,并且这个消息将不会继续在工程的其他部分传播。这样的设计可以确保特定消息只被特定的触发器处理,避免多个触发器对同一消息做出反应,从而造成不必要的冲突或混乱。

总的来说,Set Message Handled在Kanzi的触发器设置中起到了关键作用,它使得消息能够在被正确处理后停止传播,保证了UI逻辑的清晰和准确。

Routing Mode:用于定义事件的传播行为。

   Bubbling(冒泡):

  • 当事件在一个节点上被触发时,它首先会被传递给该节点的父节点,然后继续向上传递到更高层次的父节点,直到没有更多的父节点为止。
  • 这种模式允许子节点的事件能够被父节点捕获处理,实现了事件的向上传播。

   Direct:

  • 当事件在一个节点上被触发时,它只会在该节点自身被处理,不会传播给任何其他节点,包括父节点或子节点。
  • 这种模式适用于那些只需要在特定节点上处理的事件。

   Tunneling:

  • 当事件在一个节点上被触发时,它首先会被传递给该节点的子节点,然后继续向下传递到更低层次的子节点,直到没有更多的子节点为止。
  • 这种模式允许父节点的事件能够被子节点捕获处理,实现了事件的向下传播。

   Tunneling and bubbling:

  • 这是BubblingTunneling的组合,事件会同时向下传播到子节点和向上传播到父节点。
  • 这种模式允许事件在整个节点树中传播,可以被多个节点捕获处理。

这些传播模式为Kanzi中的事件处理提供了灵活性,开发者可以根据需要选择合适的模式来实现特定的交互逻辑。例如,如果一个按钮被点击,你可能想要这个点击事件只被按钮自身处理(Direct),也可能想要它的父容器也能响应这个事件(Bubbling),或者想要它的子元素也能接收到这个事件(Tunneling)。通过合理设置这些传播模式,可以构建出复杂而高效的用户界面交互逻辑。
Message Source:用于定义触发器可以接收和响应的消息来源。这个属性对于确保触发器只对来自特定源的消息做出反应非常重要,从而避免不必要的消息处理或冲突。

例如:这里的"<Relative>."表示当前节点的相对路径。它用于指定相对于当前节点的路径,以便在Kanzi树结构中定位其他节点。“<Relative>..”表示当前节点的父节点的相对路径。它用于指定相对于当前节点的父节点的路径,以便在Kanzi树结构中定位其他节点。

2. 动画(Animation)

   Animation Player(动画播放器):

   Property Driven Animation Player:

   Property Target Interpolator(属性目标插值器):使用属性目标插值器 (Property Target Interpolator),随着时间的推移将Interpolate.Interpolator 属性的值插值到目标值
属性目标插值器 (Property Target Interpolator) 模拟永远不会超调的弹簧阻尼系统的行为。您可以使用加速 (Acceleration) 属性设置弹簧移动物体所用的力,并使用阻力 (Drag) 属性设置阻尼系数。加速 (Acceleration) 属性的值越大,该属性就越快达到其新值。阻力 (Drag) 属性的值越大,最大插值速度就越小。

资源介绍:

Animations:

   Animation Clips:

   Animation Data:

   Timeline Sequences:

Applications

Bookmarks:

Kanzi Engine Plugins:

Localization

Materials and Textures:右键点击这个可以创建颜色笔刷、内容笔刷,材质笔刷,纹理笔刷,二进制shader格式,材质,材质类型,书签,单一纹理等。

颜色笔刷包括:Hue(色调),Saturation(饱和度),Lightness(亮度),Alpha(阿尔法强度),新建的笔刷会自动放入Materials and Textures的子目录Brushes下。

在 Kanzi Studio 中您可以应用十六进制格式的颜色到所有设置颜色的属性。在用户设置颜色的工具中,复制颜色的十六进制代码,在属性 (Properties) 的 Kanzi Studio 中,右键点击要使用该颜色的属性的颜色样本,并选择粘贴十六进制格式的材质 (Paste Color in Hex Format)。

   Materials

   Material Types

   Textures:

   Shader Formats

   Brushes

笔刷可用于设置 2D 节点的背景。在 Kanzi 中,所有 2D 节点均默认具有透明背景。在 Kanzi 中,您可以使用以下笔刷:

  • 颜色笔刷 (Color Brush) 以使用单色填充 2D 节点。
  • 纹理笔刷 (Texture Brush) 以使用纹理填充 2D 节点。
  • 材质笔刷 (Material Brush) 以使用材质填充 2D 节点。

Meshes:网格数据 (Mesh Data) 资源定义一个模型 (Model) 节点的几何形状,且您可以在不同的节点中使用相同的颜色笔刷 (Color Brush) 笔刷来设置前景笔刷 (Foreground Brush) 或背景笔刷 (Background Brush) 属性。

Page Transitions

Project References

Property Types

Rendering

   Object Sources

   Render Passes

Resource Files

   3D Assets

   Fonts

   Generic

   Images

   Scripts

   Shaders

State Managers

Styles

Tags

Themes

Trajectories

   Coverflow Trajectory

   Splines

在状态机创建状态

1. 选中你要为其创建状态的Viewport 2D(2D视口)节点;选中哪个节点就是为哪个节点创建状态机。

2. 在状态工具(State Tools)窗口,点击创建状态机(Create State Manager),Kanzi Studio 新建状态机并将其分配到所选中的节点。并将状态工具 (State Tools) 窗口设为编辑 (Edit) 模式。状态工具 (State Tools) 窗口处于 编辑 (Edit) 模式时,预览 (Preview) 窗口选项卡和边框变为橙色。

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

4. 在状态工具 (State Tools) 中点击两次(取决于你想创建几个状态)创建状态 (Create State) 创建两个状态,双击每个状态的名称,然后重命名状态。
例如,将一个状态命名为 Side,另一个命名为 Front。

5. 在每个新建的状态中做相应的操作,比如旋转,做完后,在状态工具的状态窗口中点击,点击set时,Kanzi Studio会将您在工程中的更改的属性值保存到该状态。

6. 状态工具 (State Tools) 窗口处于 编辑 (Edit) 时,您可以点击该状态机 (State Manager) 中的任一状态查看应用程序处于该状态时的外观。

7. 设置完成后点击编辑状态机 (Edit State Manager) 退出状态工具 (State Tools) 编辑 (Edit) 模式。

8. 创建的状态机会自动放到资源文件(Liarbry)的State Manager中。

9. 通过这个选项可以选择通过某个属性来控制状态机,添加属性后,属性值会自动添加到状态机的每个状态,根据自己的需要设置状态值。

比如通过按钮的切换状态来控制状态机状态的切换 ,

 当Toggle State的值为1时,图标为选中状态,为0时为未选中状态。

 10. 状态机可以通过选中某个节点然后创建状态机实现该节点上的状态机控制,也可以先在Library的State Manager中创建好状态机,再载节点上添加状态机属性,选择相应的状态机来实现使用状态机控制节点。

11. 状态机的组成

12. 在状态工具 (State Tools) 中,初始状态有图标。

 您可以右键点击状态并选择 设置为本组的初始状态 (Set as initial state in this group),将状态设置为初始状态。

材质和纹理

在Library中有资源Materials and Textures,我们平时要创建和使用的材质都在这里.

Materials:是我们实际使用的材质,它的属性包括材质类型(material Types)和纹理(Texture)(如果材质类型包含纹理的话)。

Common包含具有通用着色器的材质类型;

FragmentPhong包含具有基于像素的着色器的高精度缓慢执行材质类型;

VertexPhong包含具有基于顶点的着色器的地竞速快速执行材质类型。

Material Types:材质类型,大类主要包括::

  • Phong:这是最常见的材质类型,它包括环境光颜色(Ambient Color)、漫反射颜色(Diffuse Color)、发射光颜色(Emissive Color)以及镜面反射颜色(Specular Color)。Phong材质模型能够较好地模拟光滑表面的光照效果。
  • TextureMaterial:这种类型的材质不受光照影响,通常用于给3D模型贴上纹理图像,以增加视觉上的细节和真实感。TextureMaterial主要用于那些不需要光照效果,只需要纹理映射的情况。
  • 比如VertexPhongTexturedMaterial材质类型就是既包含Phong有包含TextureMaterial。同时使用这两种。

包括Phong和textureMaterial和他们的组合,创建材质时一定会用到材质类型,所以如果我们想要的材质类型在已有类型里面没有,就可以自己创建一个。您可以为要使用纹理的所有材质使用 VertexPhongTextured 材质类型。创建材质类型,在创建材质的时候可以选择创建那种类型的材质。

在材质类型(Material Types)中创建一个VertexPhongTextured类型后,在材质(Materials)中自动增加VertexPhongTexturedMaterial材质,即每创建一个材质类型,就会相应的生成一个对应的材质。当材质列表中没有某种材质类型的材质而需要创建时,线创建材质类型,再在通过该材质类型生成的材质上设置需要的属性,完成新材质的创建。


VertexPhongTextured和VertexPhongTexturedCube的关系与区别 :

VertexPhongTextured和VertexPhongTexturedCube是材质类型,它们之间的关系是后者为前者的扩展。

VertexPhongTextured是一种基于顶点着色的纹理映射技术,它使用逐像素光照模型(Phong模型)对物体表面进行着色,从而生成较为真实的光影效果。这种技术通常用于创建具有光滑表面的物体,如金属、塑料等材料。而VertexPhongTexturedCube是VertexPhongTextured的一个变种,它专门用于处理立方体环境贴图(Cube Maps),即一种将周围环境映射到物体表面上的技术。这种材质类型特别适合于创建具有环境反射效果的物体,如汽车车身、水面等。

VertexPhongTextured和VertexPhongTexturedCube的主要区别在于它们对环境贴图的处理方式不同。

VertexPhongTextured通常只使用单一的纹理图像来为物体表面着色,而VertexPhongTexturedCube则使用六个不同方向的纹理图像(前后左右上下),这些图像共同构成了一个立方体环境贴图。这样的设置使得VertexPhongTexturedCube能够捕捉到物体在不同方向上的环境反射,从而实现更为真实的视觉效果。此外,VertexPhongTexturedCube在处理反射和折射效果时更为出色,因为它能够根据观察者的视角和物体表面的法线方向,从立方体环境贴图中选择最合适的纹理图像进行渲染。

总的来说,VertexPhongTextured和VertexPhongTexturedCube虽然都是基于顶点着色的材质类型,但后者通过使用立方体环境贴图,能够提供更加丰富的环境反射效果,适用于那些需要高度真实感的场景渲染。


Textures:纹理,是我们要在材质上使用的图片纹理数据。在材质的Texture属性中使用

   Cube-map texture:环境纹理贴图,您创建环境纹理贴图时,Kanzi Studio 会将其显示为红色类型,因为纹理尚未给环境纹理贴图的每个面分配纹理。环境纹理贴图包含六个面的贴图(NegZ,PosZ;NegY,PosY;NegX,PosX),在创建的环境纹理贴图的属性中的Cube-map Images添加这六个面的贴图。


Kanzi中的Cube-map Texture是一种用于在3D场景中创建环境反射效果的技术。它使用六个不同方向的纹理图像(前后左右上下)组成一个立方体,这些纹理图像共同模拟了周围环境的全景。

以下是关于Kanzi中Cube-map Texture的一些详细说明:

  1. 环境映射:Cube-map Texture主要用于实现环境映射,即在物体表面反映出周围环境的景象。这种技术常用于水面、镜子、金属等具有反射性质的物体上,以增强真实感。
  2. 全景捕捉:通过将六个方向的纹理图像组合成一个立方体,Cube-map Texture能够捕捉到一个全方位的环境视图。这六个纹理分别对应于立方体的前、后、左、右、上、下六个面。
  3. 视角相关:当相机或观察者移动时,Cube-map Texture会根据当前的视角动态选择最合适的纹理图像进行渲染,从而实现视角相关的环境反射效果。
  4. 光照计算:在使用Cube-map Texture时,还可以结合光照模型进行计算,以模拟出更加真实的光照效果,如反射光的强度和颜色变化等。
  5. 性能优化:由于Cube-map Texture需要处理大量的纹理数据,因此在实现时需要考虑性能优化的问题,例如使用Mipmap来减少纹理分辨率,或者使用硬件加速等技术来提高渲染效率。
  6. 应用领域:除了在游戏和影视制作中应用外,Cube-map Texture也被用于虚拟现实、增强现实等领域,以提供更加沉浸式的环境体验。

综上所述,Kanzi中的Cube-map Texture是一种强大的环境映射技术,能够在3D场景中创造出高度真实的环境反射效果。通过合理使用和优化这种技术,可以大大提升3D应用的视觉效果和用户体验。


Shader Formats

Brushes:笔刷,包括颜色笔刷,材质笔刷,纹理笔刷。

主要用于定义和设置界面元素的颜色和纹理

在Kanzi Studio中,Brushes是用于创建颜色和纹理效果的重要工具,它们可以被应用到不同的用户界面元素上,以增强视觉效果和用户体验。以下是Kanzi中Brushes的一些主要用途:

  • 设置背景颜色和纹理:可以为RootPage设置Background Brush属性,以此来定义页面的背景颜色或应用特定的背景纹理。
  • 创建颜色渐变效果:通过使用不同类型的Brushes,可以创建出丰富的颜色渐变效果,使界面更加生动和吸引眼球。
  • 实现特殊的视觉效果:Brushes还可以用于实现如阴影、高光等特殊的视觉效果,提升界面的立体感和层次感。
  • 自定义界面元素样式:开发者可以通过Brushes来自定义按钮、滑块等界面元素的外观,使其符合整体设计语言或者满足特定的功能需求。

page页面

1。 在页面 (Pages) 中,在主页面 (Page Host) 节点 SettingsRoot 的右上角点击启用保持活动状态 (Keep Active) 属性。您启用保持活动状态 (Keep Active) 属性时,Kanzi 激活该页面 (Page) 或主页面 (Page Host) 节点,无论其父页面 (Page) 或主页面 (Page Host) 节点是否活动。页面 (Page) 或主页面 (Page Host) 节点活动时,其内容显示,您可与其交互。

Bindings(绑定)

1.  您可以通过绑定、Kanzi Engine API 或者使用井号 (#) 后跟别名名称来检索别名目标节点,而不管节点在工程中的位置。 例如,使用#Control 以其别名访问 Control 滑块节点。

2. 当您在绑定参数编辑器 (Binding Argument Editor) 中编写绑定表达式时,将节点及其属性添加到表达式的最快、最精确方法是将它们从属性 (Properties) 拖到绑定参数编辑器 (Binding Argument Editor) 中的表达式 (Expression) 编辑器中。
例如,要添加滑块 (Slider) 节点的值 (Value) 属性,在工程 (Project) 中选择滑块 (Slider) 节点,从属性 (Properties) 拖动值 (Value) 属性到绑定参数编辑器 (Binding Argument Editor) 中的表达式 (Expression) 字段。

自定义属性

1. 在素材库(Library)属性类型(Property Types)中 右键创建自定义属性。

2. 属性提供了指定和检查节点的状态、外观和行为的手段。例如,属性可以定义颜色,指示按钮是否按下或指定项的对齐方式。

本地化

1. 在工程 (Project) 中,右键点击屏幕 (Screen) 节点,并在上下文菜单中选择添加资源至本地化表 (Add Resources to a Localization Table)。当在屏幕 (Screen) 节点上使用添加资源至本地化表 (Add Resources to a Localization Table) 命令时,您可以使用 Kanzi Studio 将工程中的所有资源添加到本地化表中并将它们本地化。要只将所选节点及其节点树的资源添加到本地化表,请右键点击节点并选择 添加资源至本地化表 (Add Resources to a Localization Table)

2. 在添加资源至本地化表 (Add Resources to a Localization Table) 窗口中设置:

  • 本地化表 (Localization Table) 添加到您要添加资源的本地化表。如果您没有本地化表,选择<Create New>。本地化表包含有关哪些地区使用哪些资源的信息。
  • 在窗口右上角,您可以选择要在窗口中显示哪些类型的资源。Kanzi 默认在工程中显示文本资源
  • 点击全部选中 (Select All) 选择所有列出的资源。
    使用每个资源旁的复选框来选择该资源。要选择或取消选择所有资源,使用窗口左下方的按钮。
  • 点击添加 (Add)

Kanzi Studio 从您选择的所有资源类型创建资源和资源 ID,并将其添加到您选择的本地化表中。您可以在素材库 (Library) > 本地化 (Localization)中找到本地化表。现在您可以本地化资源,并在本地化表中设置要将哪个资源用于哪个地区。

3. 在素材库 (Library) > 本地化 (Localization) 中右键点击本地化表本地化表(主)(Localization Table, Main) 并选择导出本地化表 (Export Localization Table)。Kanzi Studio 会将 .pot 文件格式的本地化表模板导出到 <ProjectName>/Localization/<LocalizationTableName> 目录。
首次本地化 Kanzi 应用程序时,将该 .pot 文件发送给译员。这是包含本地化表中每个文本资源的字符串及其上下文的模板文件。译员使用 .pot 模板文件翻译每个地区的文本内容。翻译结果是每个地区的 .po 文件。

4. 在 素材库 (Library) > 本地化 (Localization) 中右键点击导出的本地化表,选择手动导入本地化表 (Import Localization Table Manually),导入需要本地化的.po文件。

5. Kanzi Studio 会创建每个 .po 文件中指定的地区,并将 .po 文件的翻译添加到本地化表。Kanzi 使用本地化表来存储本地化的文本资源以及关于哪个地区使用哪个工程资源的信息。

双击本地化表打开并查看本地化表中的资源。

上图中是导入了fi_FIes-ES地区后的本地化表

6.  (可选)要立即查看每个地区在 Kanzi Studio 中如何工作,在工程 (Project) 中选择屏幕 (Screen) 节点,在属性 (Properties) 中将地区 (Locale) 属性设为要在预览 (Preview) 中查看的地区。

创建地区包

1. 在Localization Table 中点击Japanese、Chinese Korean 地区的名称旁的。这样您可以标记要为其创建地区包 kzb 文件的地区,文件仅包含该地区使用的资源。Kanzi Studio 不会将本地化表中标记为地区包的地区的资源导出到主 kzb 文件。

2. 在Kanzi Studio 中选择文件 (File) > 导出 (Export) > 导出 KZB (Export KZB)。该命令:

  • 为您在本地化表中标记为地区包的每个地区创建一个 kzb 文件。Kanzi Studio 导出地区包时,会以其所含资源的地区命名 kzb 文件。每个地区包文件仅包含该地区使用的资源。
  • 创建包含整个 Kanzi Studio 工程的主要 kzb 文件,在本地化表中标记为地区包的地区资源除外。
  • 将地区包 kzb 文件存储在 <ProjectName>/Application/bin/Locale_packs 或您在工程 (Project) 属性 (Properties) 的二进制导出目录 (Binary Export Directory) 属性中指定位置中的 Locale_packs 目录中。

加载地区包

 1. 您将使用 Kanzi Engine API 加载您在上一节创建的地区包。应用程序在启动时加载地区包,并触发加载存储在 <KanziWorkspace>/Projects/<ProjectName>/Application/bin/Locale_packs 目录中的所有地区的地区包(kzb文件)。

2. 要加载地区包:

在 Windows 资源管理器的 <ProjectName>/Application/bin/Locale_packs 目录中,创建 binaries.cfg 文件并向其添加包含要加载的地区包的每个 kzb 文件的位置和名称。每行只添加一个 kzb 文件的名称。

例如,如果您有Japanese、Chinese 和Korean 地区的地区包,并将ja-JP 地区名称用于Japanese 地区、zh-ZH 用于Chinese 地区、ko-KR 用于Korean,创建binaries.cfg,在文本编辑器中打开,将这些地区包文件的名称添加到binaries.cfg文件并保存文件。

导入字体

1. 选择文件 (File) > 导入 (Import) > 导入字体 (Import Fonts)>Browse,选择<KanziWorkspace>/.../Assets/Fonts文件夹,选的时候看不见字体内容选择这个文件夹就行

 

实例化预设体

1. 在工程 (Project) 中按下 Alt 并右键点击RootPage,创建2D 预设件视图 (Prefab View 2D) 节点。

2. 选择创建的预设件视图 (Prefab View 2D) 节点,在属性 (Properties) 中添加并设置预设件模板 (Prefab Template) 属性(即你想要实例化的预设体)。

实例化具有预设件视图 (Prefab View) 节点的预设件时,Kanzi 会读取预设件模板 (Prefab Template) 属性的值并将该属性所指的预设件添加为预设件视图 (Prefab View) 节点的子节点。

kzb加载原理

在kanzi加载启动的时候,会加载默认选项的kzb文件,它可以通过.cfg配置文件或C++程序中的onConfig()回调函数进行配置。(屏幕 (Screen)的工程 (Project)窗口中包含应用程序的场景图。您在设备上启动Kanzi应用程序时,Kanzi会将场景图中的所有节点加载到设备内存。)

关于xml更新数据过程

代码使用的DataUpdateMgr::UpdateIntData()用到了

#include "uid-plugin-kanzi/DataUpdateMgr.h"

using namespace kud::Server::DataEngine;

我们更新xml文件中的值后,这个插件会将xml文件中的值设置待kanzi studio属性中,更新界面的显示。

界面操作

1. 要在页面 (Pages) 窗口中平移和放大,使用以下控件:

    平移:

  • 点击鼠标中键并拖动。
  • 按下 Space 键,然后点击鼠标左键并拖动。

   缩放:

  • 滚动鼠标滚轮。
  • 按下 Shift 和 Alt 键,然后点击鼠标左键并拖动。

注意事项

1. 在场景图中只保留需要在应用程序的特定状态下显示的节点。通过这种方式,您可以确保应用程序不会使用必要资源以外的资源。

2. 在 RootPage 节点中放置的内容在整个应用程序中都可见。

3.。在 工程 (Project) 窗口选择多个节点并使用属性 (Properties) 窗口将相同的属性更改应用到所有选定节点。按ctrl键再选择多个节点。

4. Kanzi Studio 预览 (Preview) 默认使用 TCP/IP 与 Kanzi Studio 进行内部通信。如果您的计算机上安装了防火墙,允许 Kanzi Preview 进程通过防火墙。

5. 在 Kanzi Studio 中您可以应用十六进制格式的颜色到所有设置颜色的属性。在用户设置颜色的工具中,复制颜色的十六进制代码,在属性 (Properties) 的 Kanzi Studio 中,右键点击要使用该颜色的属性的颜色样本,并选择粘贴十六进制格式的材质 (Paste Color in Hex Format)。

6. 在属性 (Properties) 中属性旁点击 在属性 (Properties) 中属性旁点击 以访问和编辑属性指向的资源,无需从当前选定的节点移开。

7. 默认只在 Kanzi Studio 窗口设定为焦点时预览 (Preview) 更新内容。要在Kanzi Studio 窗口未设定为焦点时查看 Kanzi Studio 工程中的更改,在 Kanzi Studio 中选择编辑 (Edit) > 用户首选项 (User Preferences),并在高级 (Advanced) 选项卡中启用Kanzi Studio 未聚焦时更新预览 (Update Preview when Kanzi Studio is not focused)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

逐云之巅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值