diff --git "a/DungeonShooting_Document/\351\241\271\347\233\256\345\270\256\345\212\251\346\226\207\346\241\243.md" "b/DungeonShooting_Document/\351\241\271\347\233\256\345\270\256\345\212\251\346\226\207\346\241\243.md" index cce63f7..7fcd10e 100644 --- "a/DungeonShooting_Document/\351\241\271\347\233\256\345\270\256\345\212\251\346\226\207\346\241\243.md" +++ "b/DungeonShooting_Document/\351\241\271\347\233\256\345\270\256\345\212\251\346\226\207\346\241\243.md" @@ -36,7 +36,7 @@ ### 2.3.重新生成`ResourcePath` 如果项目中有资源变动, 则可以使用`Tools`页签下的`重新生成ResourcePath.cs文件` -![](文档资源/image_6.png) +![](文档资源/image_6.png) --- ## 3.游戏框架 @@ -70,7 +70,7 @@ * 互动逻辑接口 通过下面这张图可以了解游戏中的物体与`ActivityObject`的关系 (注意: 该图为早期开发版本的继承关系图, 后面开发可能会有修改) -![](文档资源/2023-03-26_030144.png) +![](文档资源/2023-03-26_030144.png) #### 3.2.2.什么是`Activity模板场景` 定义: `Activity模板场景`是指可以可以被实例化出`ActivityObject`对象的场景, 但是场景根节点必须是`ActivityObjectTemplate`节点 @@ -324,32 +324,32 @@ ##### 创建模板房间 项目提供了一套创建模板房间的工具, 点击`tools`页签, 找到`创建地牢房间`这一项, 输入模板房间名称(注意房间名称不能重复), 即可创建房间, 创建房间完成后会创建房间配置数据, 路径为`resource/map/tiledata/xxx.json`, 并将配置数据注册到`resource/map/RoomConfig.json`中 -![](文档资源/image_7.png) +![](文档资源/image_7.png) ##### 绘制房间 创建好的房间会自动在编辑器中打开, 为场景的根节点选好`TileSet`后就可以画房间了 ![](文档资源/image_8.png) 编辑器会自动计算出房间位置轮廓(绿色线)和导航区域(红色和黄色线), 并绘制出来, 按下`ctrs`+`s`, 编辑器就会将位置轮廓和导航信息存入`resource/map/tiledata/xxx.json`下 注意, 为了避免Ai运动时卡墙角, 所以计算导航轮廓时特意与墙预留了半个格子的距离, 也就是说如果存在单格的道路, 导航计算就会出错, 所以在画道路时必须为两格以上的宽度, 像下面这两种情况就是不被允许的, 编辑器会绘制出错误的格子 -![](文档资源/image_9.png) +![](文档资源/image_9.png) ![](文档资源/image_10.png) 如果计算导航网格出错, 那么编辑器将不会保存房间配置信息 ##### 配置房间门生成位置 如果某些模板房间需要在指定区域内生成门, 那么就需要设置房间门生成区域 -在模板场景中选中根节点, 再勾选`Enable Edit` +在模板场景中选中根节点, 再勾选`Enable Edit` ![](文档资源/image_11.png) -此时将鼠标放置在房间轮廓的绿线上就会显示生成区域 +此时将鼠标放置在房间轮廓的绿线上就会显示生成区域 ![](文档资源/image_12.png) 点击鼠标左键即可创建门区域, 如果悬停时显示红色方块, 则表示不能在此处创建门区域 创建门生成区域的约束: 区域不能重叠, 且两个区域的间距至少为4格, 每个区域至少4格宽度 ![](文档资源/gif_1.gif) 新建的区域默认为4格宽度, 如果需要调整宽度, 可以拖拽区域两侧的点来调整范围 ![](文档资源/gif_2.gif) -如果需要删除区域, 则悬停到区域两侧任意一个点上, 按下鼠标中建即可删除 +如果需要删除区域, 则悬停到区域两侧任意一个点上, 按下鼠标中建即可删除 ![](文档资源/gif_3.gif) -门区域需要对齐地面地砖 -![](文档资源/image_13.png) +门区域需要对齐地面地砖 +![](文档资源/image_13.png) 注意: * 如果一个模板房间不设置门生成区域, 则默认四边任何位置都可能生成门 @@ -381,15 +381,15 @@ 为了减低开发者制作UI的复杂程度, 避免手写获取UI节点的代码, 我们设计了一套自动生成UI层级代码的功能, 该功能在编辑器中会监听开发者对于UI场景的修改, 并及时生成相应的UI代码, 并且开发者的UI逻辑类继承生成的UI类, 即可方便的获取UI节点, 可以节省大量时间, 因为代码是实时生成的, 因此一旦有节点改名或者移动位置, 重新生成UI代码后, 引用该节点的代码就会出现编译错误, 方便开发者修改 ##### 创建UI -在`Tools`页签下找到`创建游戏UI`, 输入UI名称即可点击创建UI +在`Tools`页签下找到`创建游戏UI`, 输入UI名称即可点击创建UI ![](文档资源/image_14.png) 创建完毕后编辑器会离开打开该UI场景 -观察文件系统可以注意到, 编辑器为我创建并保存了场景和代码, 并且还生成了一个`MyUiPanel.cs`的文件, 该文件就是我们写UI逻辑代码的地方, 并且命名方式为`UI名称`+`Panel`, 这个Panel类继承了自动生成出来的UI类 +观察文件系统可以注意到, 编辑器为我创建并保存了场景和代码, 并且还生成了一个`MyUiPanel.cs`的文件, 该文件就是我们写UI逻辑代码的地方, 并且命名方式为`UI名称`+`Panel`, 这个Panel类继承了自动生成出来的UI类 ![](文档资源/image_15.png) ![](文档资源/image_16.png) 创建完成UI后, 编辑器也会在`UiManager`中生成打开该UI和获取UI实例的Api -![](文档资源/image_17.png) +![](文档资源/image_17.png) 通过以下这个gif就可以直观感受到该功能的便捷之处 -![](文档资源/gif_4.gif) +![](文档资源/gif_4.gif) #### 3.4.3.常用功能