obsidian/笔记文件/2.笔记/技能编辑器_第一章.md
2025-03-26 00:02:56 +08:00

4.0 KiB
Raw Permalink Blame History

技能编辑器UI界面是基于UI ToolKit搭建的入口在这里

!Pasted image 20240307105337.png

在Project面板点这里是可以创建对应的窗体

!Pasted image 20240307112417.png

写进去之后就会自动创建3个文件

!Pasted image 20240307112500.png

这仨就是这样创建出来的分别是逻辑脚本uss布局还有点击uxml就会直接跳转打开UIBuilder界面

!Pasted image 20240307112518.png

是放到Editor目录下的编译成游戏的时候就会自动忽略这些

!Pasted image 20240307120327.png

!Pasted image 20240307112559.png

!Pasted image 20240307112732.png

!Pasted image 20240307112748.png

简单介绍

!Pasted image 20240307113159.png

在构建界面是可以直接拖曳例如拖拽一个Button按钮就可以拖到界面上

!Pasted image 20240307113401.png

这是逻辑脚本入口

!Pasted image 20240307113548.png

uxml是记录布局参数结构

!Pasted image 20240307113624.png

对应界面右边的相关布局

!Pasted image 20240307113741.png

IMGUIContainer定义

!Pasted image 20240307114718.png

在技能编辑器下,选择加载角色预制体,还有相关配置; 点击播放,就可以播放,当前编辑好的技能搭配

!Pasted image 20240307114917.png

界面是有分几个区域的逻辑上也会分成几个region比较有条理

!Pasted image 20240307115741.png

!Pasted image 20240307115815.png

这里是编辑器总入口:

!Pasted image 20240307115850.png

!Pasted image 20240307115900.png

根节点:

!Pasted image 20240307115937.png

加载对应的uxml布局配置实例化再加到根节点

!Pasted image 20240307120003.png

来到顶部逻辑是通过ui命名获取到对应组件的

!Pasted image 20240307120035.png

例如这个是Button按钮

!Pasted image 20240307120104.png

!Pasted image 20240307120129.png

在初始化顶部逻辑的时候就是通过nameof命名的方法找到这个按钮然后注册一个点击的逻辑LoadEditorSceneButtonClick

!Pasted image 20240307120142.png

这个逻辑,就是加载,对应的,技能编辑场景; 而且会把切换前的,当前场景路径,赋值给旧场景路径

!Pasted image 20240307120238.png

!Pasted image 20240307120408.png

旧场景路径,用在这里的逻辑:

!Pasted image 20240307120557.png

!Pasted image 20240307120611.png

命名也是在这里写就好:

!Pasted image 20240307120626.png

类似这种:

!Pasted image 20240307120639.png

类型上,是这个组件:

!Pasted image 20240307120708.png

可以在属性面板,对赋值类型,进行限制

!Pasted image 20240307120859.png

这里有两个,都是演示预制体的,后者会勾选,这指的是,允许选择,场景内加载的

!Pasted image 20240307120914.png

表现:

!Pasted image 20240307121020.png

技能配置的选择:

!Pasted image 20240307121126.png

只能选这个配置文件:

!Pasted image 20240307121201.png

!Pasted image 20240307121212.png

俩演示预制体部件和预制体分别也是有俩一共4个

!Pasted image 20240307121657.png

在初始化的时候,判空和赋值

!Pasted image 20240307121720.png

注册和监听修改

!Pasted image 20240307121751.png

前者的逻辑:需要判断,是否在技能编辑场景; 判断是否相等,后面,就是销毁旧的,然后创建新的

!Pasted image 20240307121815.png

实例化新的时候,前者会给后者,赋值

!Pasted image 20240307121939.png

表现上,前者先选择

!Pasted image 20240307122057.png

选完,就实例化出来了

!Pasted image 20240307122127.png

后者再选的时候,默认就是这个,创建出来的,也就是上面的逻辑表现

!Pasted image 20240307122147.png

后者的逻辑相对简单,只是赋值处理:

!Pasted image 20240307122231.png