Doozy记录

一、Doozy界面

 二、功能模块

2.1  UI

2.1.1  UIButton

你可以把他想象为UGUI Button的拓展。

因为它是基于Button,且这个组件有大量原本需要我们手动实现的事件:

鼠标移入、移出、长按、右键按下、双击、选中状态、取消选中状态。。。(这统称为“行为”)

并且剧透一下,UIButton里面每个上述行为下,还有对应的动画库!意味着我们手动点点,就能让这个按钮移入时变大,移出恢复常态,点击时...

还有UIButton每个行为下都有一个UIAction事件系统,这个事件库不仅可以实现上述行为,还能实现简单配置,点下时播放声音库中的一个声音等等

2.1.2  UICanvas

它类似UGUI的Canvas,它的样子如下图所示。 

 它的作用是:

  • 提供了API,可让你通过代码快捷的找到这个UICanvas,
  • 并且当有两个相同名字的UICanvas,它会报错,让我们很容易的知道,是不是多实例化了一个UICanvas呢
  • 我们的DoozyUI的大多数UI组件,都是放在它底下的。

 2.1.3  UIDrawer

这个翻译过来是抽屉的意思,刚看到这个组件时我也很懵,不过讲一个例子就瞬间懂它了:

即手机QQ从左向右滑出现个人信息的效果,可以用它来实现~

按住鼠标左键下拉,手机手指下滑。

可以利用Unity Event事件UIDrawer.Toggle控制滑动列表开关。

控制右方向白色箭头,关闭则不显示。 

 2.1.4  UIPopup

它起的作用就是强制交互,在我们:

  • 通关结束,必须点 “victory” 的界面、
  • 进入下一关卡的确认界面,比如选择进入,或者返回休息的界面、
  • 提交成绩的界面,弹出提交或者返回继续完善。。。

都可以使用。

它自生成UI层级就是10000,叠加于任何UI之上,强制交互。

2.1.5  UIToggle

UIToggle,类似 Unity 的 Toggle,

不同的是多了一些事件,比如鼠标移入移出、选择与取消选择。

 2.1.6  UIView

它是一个UI模块的根物体组件,UIView可实现这个UI模块的显示、隐藏等等效果,

并提供了显示、隐藏动画、

设置图结点之前需要全部Hide

提供了显示隐藏开始、进行中、完成的事件,及进度回调等等有用的事件。 

2.2  Listeners(可以在同一物体上添加多个监听器处理不同事件)

2.2.1  Game Event Listener

GameEvent的监听器,配合GameEvents使用,当事件触发时,发送字符串消息,Game Event Listener接收到同一字符串时执行该字符串下的方法。可创建多个监听器使用。

2.2.2  UIButton Listener

当绑定的按钮触发Trigger Action事件时,调用Event方法。按钮绑定在创建按钮时设置完成。

2.2.3  UIDrawer Listener

当绑定的列表滑动触发Trigger Action事件时,调用Event方法。列表绑定在创建列表时设置完成。

2.2.4  UIView Listener

当绑定的视图触发Trigger Action事件时,调用Event方法。视图绑定在创建视图时设置完成。

2.3  Managers

2.3.1  Game Event Manager

 该组件作用:

该组件我们不用管,只需要了解。该组件是DoozyUI自动生成的。

Game Event Manager包含针对系统事件的预定义操作。 如果发送的游戏事件(game event)是系统事件(system event),则触发其预定义的动作。 如果游戏事件字符串包含在SystemGameEvent枚举值中,则将其视为系统事件。

SystemGameEvent枚举值:

ApplicationQuit – Exits play mode (if in editor) or quits the application if in build mode

Back – Triggers the ‘Back’ button system function

我们唯一用到的地方,可能是:

DoozyUI的控制面板,Debug选项卡打开Game Event Manager 选项。

当执行GameEvent时,就能在Console里看到哪个物体执行了什么GameEvent了。

2.3.2  UIPopup Manager

该组件是DoozyUI自动生成的。

2.4  Input

2.4.1  Back Button

该组件是DoozyUI自动生成的。

2.4.2  Key To Action

通过按键控制Actions事件触发。

2.4.3  Key To Game Event

通过按键控制发送的字符串消息事件触发。 

2.5  Touchy

2.5.1  Gesture Listener(手势监听)

2.5.2 Touch Detector

该组件是DoozyUI自动生成的。

2.6  Themes

2.6.1 Targets

2.6.2 Themes Manager(主题)

该组件是DoozyUI自动生成的。

2.7  Soundy

2.7.1 Soundy Manager

该组件是DoozyUI自动生成的。

2.8  SceneManagement

2.8.1 Scene Director

2.8.2 Scene Loader

2.9  Progress

2.9.1 Targets

创建动画器赋值,Progress的值0-1控制控制的进度0-1

2.9.2 Progressor

设置值:

2.9.3 Progressor Grop

2.10  Orientation

2.10.1 Orientation Detector

2.11  Nody

2.11.1 Graph Controller

创建图后需要创建Graph Controller来控制图结点的编辑,是图结点的控制器。 

2.11.2  Nody 图结点功能介绍

 2.11.2.1 UINode

2.11.2.2 Game Event

2.11.2.3 Sound

2.11.2.4 SubGraph

2.11.2.5 Navigation—Back Button

2.11.2.6 Navigation—Portal

2.11.2.7 Navigation—Switch Back

2.11.2.8 Navigation—UIDrawer 

2.11.2.9  Scene Management—Activate Loaded Scenes

2.11.2.10 Scene Management—Load Scene 

2.11.2.10 Scene Management—Unload Scene 

2.11.2.11 Syetem—Application Quit

2.11.2.12 Syetem—Random

2.11.2.13 Syetem—TimeScale

2.11.2.14 Syetem—Wait

2.11.2.15 Theme

2.12  Layouts

2.12.1 Radial Layout

创建在MasterCanvas下。 

三、功能组件讲解

3.1  UIAction介绍:DoozyUI的事件系统

UIAction是一个属性,也是一个集合,它为我们提供了声音、粒子特效、动画状态机、游戏、UnityEvent的事件注册接口。

我们可以在这些Event里面注册我们的事件、完成对应的操作。

UIAction被定义在DoozyUI的众多组件的众多行为里,比如:UIButton、UIView、UIDrawer组件的行为下。

UIAction事件说明 :

1、Sound
音频按照声源Sound Source的不同,分为了下面三种模式:

Soundy模式:从内置音乐库配置声音,无需额外操作。
AudioClip模式:需配置AudioClip、输出的Audio Mixer Group。
Master Audio模式:使用MasterAudio插件播放声音。

a、Soundy模式

Database Name:数据库名称。

还记得我们上节讲的控制面板中的数据库嘛?对的,这儿选择的就是你的数据库。Example Clicks这一条就是一个数据库。我们可以增删改数据库、设置数据库中每条数据的名称、对应着的音频。现在DoozyUI便捷的功能开始体现出来了~

该模式因为包含了大量的声音库,因此比较适合直接从中选取需要的UI动画音乐;
或者将你们项目中经常使用的UI音乐放进去,统一使用。

SoundName:选择应该数据库中哪条音频。

浅色的Soundy:点击可快速打开控制面板,转到音频选项卡。是一个快捷按钮。

现在,设置完毕,我们可以运行点击一下这个Button,听听效果了~

b、Audio Clip

Audio Clip:要播放的音频

Output AudioMixerGroup:用哪个AudioMixerGroup来播放

c、Master Audio

2、Effect
粒子系统。分为了两种模式:开始播放、结束播放

Play/Stop模式:

播放/停止播放 该粒子特效。

3、Animators
控制状态机的参数。

使用方法:

挂载上你要控制的状态机。
若没有更新出下方参数数据,重启一下Unity就好。

4、Game Events
DoozyUI也提供了一套消息传递系统,一端发送消息,一端接收消息并执行相关操作。

使用方法如下:

UIAction发送事件

执行此操作时发送的游戏事件列表。游戏事件是在系统中传递的字符串值。

Game Event Listener监听消息
该组件创建方法:Doozy-Listeners-Game Event Listener

GameEventListener监听到了该字段消息,便执行下方定义的方法。

Listen for all GameEvents监听消息
Listen for all GameEvents监听所有事件。无论执行了哪个GameEvents,都会执行下方方法。

5、UnityEvents
该功能类似于Button的Event,绑定你要触发的事件即可。当触发了UIAction时,便会调用。

3.2  API:UIAction(使用代码操作UIAction)

因UIAction被定义在很多组件的很多行为里面,因此本博客以UIButton的点击事件举例,

同理可类推到UIView的打开事件中、UIDrawer的关闭事件中

//是否有Animator事件
bool hasAnimatorEvents = GetComponent<UIButton>().OnClick.OnTrigger.HasAnimatorEvents;
//Animator事件的个数
int animatorEventsCount = GetComponent<UIButton>().OnClick.OnTrigger.AnimatorEventsCount;
//是否有粒子特效事件
bool hasEffect = GetComponent<UIButton>().OnClick.OnTrigger.HasEffect;
//是否有游戏事件
bool hasGameEvents = GetComponent<UIButton>().OnClick.OnTrigger.HasGameEvents;
//是否有声音事件
bool hasSound = GetComponent<UIButton>().OnClick.OnTrigger.HasSound;
//是否有UnityEvent事件
bool hasUnityEvent = GetComponent<UIButton>().OnClick.OnTrigger.HasUnityEvent;

四、控制面板选项卡

4.1、General:常规选项卡

作用:常规选项卡具有控制系统、第三方插件功能开关的作用,以及用来显示DoozyUI的新闻。

Functionality:DoozyUI插件功能的开关

Orientation Detector :方向检测。(如果禁用,检查设备方向的功能将被关闭,UIView组件将不再具有 Target Orientation功能选项)
Auto Disable UI Interactions:自动禁用UI交互。(当DoozyUI正在播放动画时,自动禁用UI交互,这时UI不能交互,建议保持默认开启)

4.2、 Canvases:画布选项卡

它是什么?

Canvases,即UICanvas名字的数据库。它保存着所有UICanvas的预设的名字。

我们可以在这儿增删改查UICanvas的预设名字。

它的作用:

还记得简介里面UICanvas的截图么,里面有Canvas Name这个属性,

当我们设置了Canvases数据库后,我们可以很方便地给Canvas Name选择数据库中的名字。

使用方法:

Sort:将整个数据库从A到Z排序
Refresh:通过添加默认类别,删除空的和重复的条目,对数据库进行排序,并更新类别名称列表,来刷新整个数据库
Reset:通过删除所有条目重置整个数据库
Save:保存

4.3、Views:视图选项卡

它是什么?

跟 Canvases 类似,它是UIView的名字的数据库。

使用方法:

使用方法也跟Canvases类似。不同的是Canvases没有名字的组别,UIView有。

4.4、Buttons、Drawers

使用方法与上述面板类似。

4.5、Popups:弹出窗口选项卡

 我们能看到这儿就像键值对一样,前面是UIPopup的名字,后面是对应的UIPopup的预制体。

为什么要这样做呢?

因为我们有代码,可以通过名字获取到这儿对应的预制体,这样我们在代码中只需要实例化一下,修改下这个UIPopup模板就能用啦,不用创建很多预制体。

那你说,修改模板会不会很复杂呢?

no,UIPopup组件提供了有用的接口,设置按钮回调、按钮图片、颜色、背景图片等等非常简单,比如我们在切换场景时,只需要改改文字就好了。

4.6、Soundy:声音选项卡

soundy Datebase:

为Soundy的使用选项,跟上述面板类似,这儿不再重复。

Settings:Soundy的全局设置

Minimum Number of Controllers:Soundy对象池中应可用的最小Soundy控制器数,这些控制器不会被kill掉。
Auto Kill Idle Controllers:如果Soundy控制器设置了可在未使用时自动kill掉,打开该开关,便在空闲时间自动kill掉这些控制器。
Controller Idle Kill Duration:控制器需要闲置x秒,才可被kill掉
Idle Check Interval:检查空闲Soundy控制器,kill掉它们的时间间隔(以秒为单位)

4.7、Touchy:触摸选项卡

Swipe Length:在触摸屏上滑动手指或手写笔的最小移动距离,超出该距离,视为滑动
Long Tap Duration:超出在触摸屏上轻触的持续时间(以秒为单位),则视为长按

4.8、Nody结点:可以创建修改图结点

4.9、Themes

4.10、Settings:新建UI的默认值设置

每个选项卡下,对应着它的默认值设置。当后面博客讲到对应组件时,对进行讲解。

4.11、Debug:组件的全局调试模式

点亮,即可为某个组件类型启用调试模式。

效果:现在执行该组件上的事件,这些行为都会被打印到Console。

作用:当你不知道某组件在何时被哪个代码打开/关闭/调用时,那开启Debug模式,就能在Console里轻松看到调用它的程序在哪了,方便你调试。

4.12、Help

4.13、About

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DoozyUI 是一个原生 Unity 编辑器的扩展工具,可简化专业用户界面的管理和动画绘制 - 无需编程知识。DoozyUI 方便初学者并可扩展,适合从业余开发者到专业软件和游戏工作室之间所有阶段的人员使用。 UI 的管理和动画绘制曾经只有经验丰富的开发者才会做。多亏了 DoozyUI,现在任何人都能创建自己的原生 Unity UI。无论你的能力到哪,DoozyUI 的强大编辑器都能给予你充分的创意掌控 - 连一条代码都不需要写。而且,如果你喜欢编程的话,随时找到一个专业API (Application Programming Interface) 就可下手。 随着众多视频教程可用,你很快就能自己创建第一个 UI。开始创造并把你的点子带到世界! 自从 2015 年以来我们一直都在开发这个系统,当它第一次在 Unity 资源商店上发布时,我们有许多对于前景的展望和计划。创作此产品时,倾注了很多思考、工作和热爱,我们非常希望你能喜欢它。 功能特色 - 使用原生 uGUI - 容易学。直观设计 - 原生编辑器集成 - 节点图 UI 导航流程 - 主题管理系统 - 自动音源汇集 - 触摸感应器 - 方向感应器 - 支持所有平台 - 独立解像 - 支持移动设备 - 编辑器内文档链接 - 可搜索文档 - 视频教程 - 专门团队支持 - 整洁代码。容易理解、修改和测试。 - 提供了完整的 C#源代码 :: 快速设置 - 设置起来快捷方便,一接上就能播放。直观的控制界面意味着快捷的调控和优化的工作流程,以便你有更多时间来做重要的事情。 :: 主题管理器- 利用自动主题/皮肤管理系统改变应用/游戏的外观 :: 独立解像 - UI Animator 计算所有的分辨率和高宽比值并相应地调整动画。因此所有的动画在横向和纵向模式都感觉看起来一样。 :: 进度条 - 是的!创建你想象中任何一种进度指示器,并将它动画绘制,而且不需要代码就可以控制它。 :: 节省时间 - 把你的动画保存起来并将它们加载到其他项目。(资源文件) :: 有趣 - 在播放模式中创建各种动画,并将它们保存到任何项目中。(通过 DoozyUI) :: 简单 - 不需要代码通过 WYSIWYG 途径就能创建直观的菜单。 :: 全方位操控 - 细调所有动画设置,从定时到延迟和简便功能。 组件 - 返回按钮 - 色彩目标图像 - 色彩目标 ParticleSystem - 色彩目标原始图像 - 色彩目标 SpriteRenderer - 色彩目标文本 - 色彩目标 TextMeshPro - 字体目标文本 - 字体目标 TextMeshPro - 游戏事件监听器 - 游戏事件管理器 - 手势监听器 - 图形控制器 - 行动键 - 游戏事件键 - 方向感应器 - 进展目标行动 - 进展目标动画器 - 进展目标混音器 - 进展目标图像 - 进展目标文本 - 进展目标 TextMeshPro - 进展器 - 进展器组 - 径向布局 - 场景指导器 - 场景加载器 - Soundy 控制器 - Soundy 管理器 - Soundy 汇集器 - Sprite 目标图像 - Sprite 目标 SpriteRenderer - 纹理目标原始图像 - 主题管理器 - 触摸感应器 - UI 按钮 - UI 按钮监听器 - UI 画布 - UI 绘画器 - UI 绘画器监听器 - UI 弹出功能 - UI 弹出功能管理器 - UI 切换 - UI 视角 - UI 视角监听器 ------ NODY - 一个节点图像引擎,从可连成图像的模块节点组件上构建而成。作为系统的一个重要部分,Nody 是专门设计用来创作、视觉化和 UI 导航流程的管理。 - 图形控制器 - 图形/子图形 节点 - UI 节点 - 游戏事件节点 - 声音节点 - 子图形节点 - 主题节点 - 后退按钮节点 - 门户节点 - 切回节点 - UI 绘画器节点 - 启动已载入场景节点 - 加载场景节点 - 卸载场景节点 - 程序退出节点 - 随机节点 - 时间标度节点 - 等待节点 - 开始节点 - 进入节点 - 退出节点 ------ SOUNDY - 一个能与 DoozyUI 并肩使用的复杂音效管理系统。它能从自己的声音数据库里播放音效,也能直接引用 AudioClip,或通过 MasterAudio(第三方插件)播放。它还设有一个自动化音效检测系统,无需任何外部管理。 - Soundy 管理器 - Soundy 汇集器 - Soundy 控制器 ------ TOUCHY - 一个附带 DoozyUI 的触摸感应系统。捕捉来自 Unity 原生输入解析的触击(和点击)并将其一些额外信息一起传递到系统中。 - 触摸感应器 - 手势监听器 ------ 集成 - Playmaker - MasterAudio - TextMeshPro ------ 重要 DoozyUI 第 3 版与第 2 版不兼容。它们看起来也许很相似,但是代码库大不相同。基本上第 3 版是受第 2 版启发的一款全新的软件。因此它们之间无法兼容。 要求 在安装 DoozyUI 之前需要先安装 DOTween 并执行初始设置。 DOTween 的最低版本要求是 v1.2.235 DOTween 下载链接: https://assetstore.unity.com/packages/tools/animation/dotween-hotween-v2-27676 准备就绪 在导入 DoozyUI 后,它将执行初始设置,然后就可以开始使用。 DoozyUI 的控制面板能从 Tools>Doozy>Control Panel(或使用 Alt+D 快捷键)打开。 DoozyUI 的 Nody 窗口能从 Tools>Doozy>Nody 中打开
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值