Unity3D插件 Doozy UI 学习(三):UI Element

时间:2024-04-02 15:42:18

前言

之前写过一些关于DoozyUI的开发介绍,比较基础。后面用DoozyUI开发了一段时间,现在已经有了更深入的一些了解。这篇主要讲一下UI Elemenet这个脚本的使用。

 

正文

1、关于UI Element:

如下图所示,Doozy UI的UI Element主要有以下内容。

Unity3D插件 Doozy UI 学习(三):UI Element

UI Element顾名思义,就是一个UI的最小元素。是作为打开、关闭的单位。通俗来讲,就是我们说的一个面板。

 

2、面板属性

hide @START :勾上后便在脚本Start时进行隐藏(移出屏幕外,并非Setactive false);

animate @START : 如果没有在开始时不隐藏,勾选这个则会播放进入动画;

disable when hidden :在隐藏时是否设置active 为 false ;

don't disable Canvas when hidden : 在隐藏时,不关闭Canvas。(不知道有啥用,一般都会让他关闭吧)

disable the Graphic Raycaster : 不启用 Graphic Raycaster组件,也就是取消点击事件。特殊面板可以选用。

auto hide : 自动隐藏,勾选后会让你填一个时间(秒)。在此时间后自动Hide;

custom start position : 设定开始位置。这个很重要!在Unity 2018 + ,由于新改了Prefab的框架,编辑Prefab是在一个单独的Scene中进行的。在使用代码实例化UI  Element,打开Prefab时,极容易发生面打开后的初始位置并不是0点,因此会造成动画的各种错位(发生这种情况的根本原因我还没有定位到)!此时就要用这个属性来修改初始位置,将其调整至正确地情况。

execute layout fix : 执行缩放适应?表示从来没用过。

auto selected button after show : 在展示时自动选个物体。注意,这个并不会触发点击事件。

 

3、动画

这里先看一个通常的动画设置:

Unity3D插件 Doozy UI 学习(三):UI Element

一般来讲,用DoozyUI做UI动画的时候,可以先从模板中选一个接近的。通过Preset Category 和 Preset Name来选择,不过这个貌似无法在编辑模式下进行预览,只有运行的时候看。

当你选择了其中一个之后,点击Load Preset就会导入一个预设。(你也可以通过New Preset 和 Delete Preset来维护你的动画预设仓库)

然后这下面的Move 、Rotate、Scale、Fade分别代表移动、选择、缩放、渐变。里面的一些参数可以根据自己的需求进行调整。

最下面可以选择声音,这个就可以在编辑器下预览了。声音仓库在Doozy UI 的 Control Panel里(Alt + D)的UI Sounds子才菜单下:

Unity3D插件 Doozy UI 学习(三):UI Element

 

4、关于层级

从目前看来,DoozyUI并没有有效的层级管理,尤其是在用代码进行控制的时候。

Unity3D插件 Doozy UI 学习(三):UI Element

我们一般都调整Canvas的属性,但是DoozyUI并没有自动修改这个Order In Layer 的方法,似乎还要自己写代码来维护。一般在预制上就要调整好层级,或者写好代码来辅助修改。否则很容易出现某个面板打开了,但是被其他面板挡住了。

 

后记

我感觉Doozy UI是设计给那些不会写代码的的人使用的插件,可视化操作近乎完美,但是设计到和代码进行联动的部分就充满了尴尬……

不过好在开源还能救一下。