From 0ae794636fc2da2c3d6391ccb0b2186ab8525603 Mon Sep 17 00:00:00 2001 From: zzdxxz <2079238449@qq.com> Date: Mon, 14 Jul 2025 10:20:31 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20Docs/DefineType/DrawingOrd?= =?UTF-8?q?erDef.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Docs/DefineType/DrawingOrderDef.md | 150 ++++++++++++----------------- 1 file changed, 63 insertions(+), 87 deletions(-) diff --git a/Docs/DefineType/DrawingOrderDef.md b/Docs/DefineType/DrawingOrderDef.md index 123dc2a..981a85b 100644 --- a/Docs/DefineType/DrawingOrderDef.md +++ b/Docs/DefineType/DrawingOrderDef.md @@ -1,75 +1,57 @@ -XML 渲染层级定义文档 +# XML 渲染层级定义文档 -概述 +## 概述 -本文档介绍如何使用 XML 定义游戏对象的渲染层级结构。通过 DrawingOrder 可以创建树形结构的渲染顺序定义,defName 用于唯一标识定义,DrawNode 则定义了各个渲染节点及其层级关系。 +本文档介绍如何使用 XML 定义游戏对象的渲染层级结构。通过 `DrawingOrder` 可以创建树形结构的渲染顺序定义,`defName` 用于唯一标识定义,`DrawNode` 则定义了各个渲染节点及其层级关系。 -基本结构 +## 基本结构 +```xml 唯一标识名称 +``` +## 元素说明 -元素说明 +### DrawingOrderDef +- 根元素,表示一个完整的渲染层级定义 +- 必须包含一个 `defName` 子元素和至少一个 `DrawNodeDef` 子元素 -DrawingOrderDef +### defName +- 定义该渲染层级的唯一标识名称 +- 在其他系统中可以通过此名称引用该定义 -• 根元素,表示一个完整的渲染层级定义 +### DrawNodeDef +- 定义一个渲染节点 +- 可以包含其他 `DrawNodeDef` 作为子节点,形成树形结构 +- 属性: + - `name`:节点名称(必需) + - `type`:节点类型(可选,默认为"image") + - `image`:静态图片 + - `animation`:动画序列 + - `position`:节点位置偏移(可选,格式为"x,y") + - `FPS`:动画播放速度(仅对动画类型有效,可选) -• 必须包含一个 defName 子元素和至少一个 DrawNodeDef 子元素 +## 节点类型详解 -defName +### 1. 静态图片节点 (type="image") +- 表示一个静态的图片元素 +- 不需要额外属性(除基本属性外) -• 定义该渲染层级的唯一标识名称 +### 2. 动画节点 (type="animation") +- 表示一个动画序列 +- 可选属性: + - `FPS`:定义动画播放速度(帧/秒) -• 在其他系统中可以通过此名称引用该定义 - -DrawNodeDef - -• 定义一个渲染节点 - -• 可以包含其他 DrawNodeDef 作为子节点,形成树形结构 - -• 属性: - - • name:节点名称(必需) - - • type:节点类型(可选,默认为"image") - - ◦ image:静态图片 - - ◦ animation:动画序列 - - • position:节点位置偏移(可选,格式为"x,y") - - • FPS:动画播放速度(仅对动画类型有效,可选) - -节点类型详解 - -1. 静态图片节点 (type="image") - -• 表示一个静态的图片元素 - -• 不需要额外属性(除基本属性外) - -2. 动画节点 (type="animation") - -• 表示一个动画序列 - -• 可选属性: - - • FPS:定义动画播放速度(帧/秒) - -材质资源组织 - -自动路径匹配 +## 材质资源组织 +### 自动路径匹配 1. 在定义包下创建资源文件夹结构: - + ``` 包目录/ └── Resource/ └── 类型名/ @@ -82,10 +64,10 @@ DrawNodeDef │ ├── down.png │ └── ... └── ... - + ``` 2. 对于动画节点: - + ``` 节点名称/ ├── down_1.png ├── down_2.png @@ -93,14 +75,14 @@ DrawNodeDef ├── left_1.png ├── left_2.png └── ... - + ``` -手动路径指定 +### 手动路径指定 +- 可以通过 `CharacterDef` 手动指定资源路径(本文档不详细介绍) -• 可以通过 CharacterDef 手动指定资源路径(本文档不详细介绍) - -示例解析 +## 示例解析 +```xml CatGirl_down @@ -114,30 +96,22 @@ DrawNodeDef +``` - -结构说明 - +### 结构说明 1. 定义了一个名为 "CatGirl_down" 的渲染层级 2. 根节点为 "body" 3. "body" 包含两个子节点: - • "head":头部节点,包含多个子部件 - - ◦ "backHair":后发 - - ◦ "ear":耳朵(动画类型,1 FPS) - - ◦ "face":脸部 - - ◦ "frontHair":前发 - - ◦ "hat":帽子 - - • "clothes":服装 - -对应的资源文件夹结构 - + - "head":头部节点,包含多个子部件 + - "backHair":后发 + - "ear":耳朵(动画类型,1 FPS) + - "face":脸部 + - "frontHair":前发 + - "hat":帽子 + - "clothes":服装 +### 对应的资源文件夹结构 +``` Resource/ └── Character/ └── CatGirl/ @@ -159,29 +133,31 @@ Resource/ │ └── down.png └── clothes/ └── down.png +``` +## 高级用法 -高级用法 +### 位置偏移 +可以为节点添加 `position` 属性来定义相对偏移: -位置偏移 - -可以为节点添加 position 属性来定义相对偏移: +```xml +``` - -混合类型 - +### 混合类型 可以在同一个层级中混合使用静态和动画节点: + +```xml +``` - -注意事项 +## 注意事项 1. 节点名称在同一层级中必须唯一 2. 动画节点的 FPS 值应大于 0