您的位置:首页 > 产品设计 > UI/UE

uGUI 基本组件

2015-09-23 11:51 323 查看

先扯点其他的

感叹一下,Unity 中丰富的 AssetStore 真是个好去处,想学啥,基本上都有,这比在网上搜一些教程要来得快捷得多,也丰富的多。我是新手,发现这样的好去处,幸福不得了啊!!在这里也没打算写具体学习细节,只是为了给处于迷惑,不知从哪里学的朋友们一个可行的方向,和学习的时候一些感触供参考。如今的互联网时代,到处都是宝藏,只要付诸行动,肯定收获不菲。

内容

Unity Samples UI 下载链接

这是AssetStore 里的 free 版学习示例(默念三声开源大法好)

导入到工程,点开 Scenes 里的 Scene ,看到哪个酷炫,哪个感兴趣就搞起吧。

下面上预览图,还有一些记录说明:

1. Controll相关控件



1) 学基本控件,我是先将所有的UI 下能创建的控件都加到视图中,然后看 Inspector 里的各个 Component 组成,给这些基本的用法都搞定。



2) 再对比Demo 上的,几个组合控件就更有头绪了。

如 ToggleGroup 是几个Toggle控件一起放在一个 EmptyObject 下,然后在 Empty 上 Add一个 ToggleGroup.cs 脚本; InputArea 是 InputField 的 LineType 属性改成 MultiLine; ScrollView 是 ScrollRect.cs 绑定在一个 Panel 上,然后初始化一个 Content(可由Text,Image组成),再和 ScrollBar 绑定。

控件上的属性,看不明白,就可以变一变,看看变化,所见即所得嘛… 这些控件玩会了,以后再有类似需求控件,可以直接复制过去啦。

2. Drag&Drop



拖拽功能,用的地方太多了,有木有很激动!

1)布局和样式,都是自己可定的

2)核心 DragMe.cs 与 DropMe.cs

3)接口

IBeginDragHandler, IDragHandler, IEndDragHandler,

IDropHandler, IPointerEnterHandler, IPointerExitHandler

看看需要实现的几个方法名字,就可以测试测试,欧了

3. Draggable



核心脚本:
DragPanel.cs 与 ResizePanel.cs


4. Grid



核心脚本:
TiltWindow.cs 鼠标位置与窗口的transform 的转换,Canvas 绑定一个 Camera,然后就可以将2D 的窗口,带有3D 的效果。
VerticalLayoutGroup.cs
GridLayoutGroup.cs
HorizontalLayoutGroup.cs
可见各种控件都可以自己DIY 出来,加上脚本控件,实现自己想要的效果。


5. Lighting



各种光照的基本玩法。

先将各种 Light 都加进 当前Scene中,比较不同之处,然后就不会被改了名字的各种控件迷惑了。

6. 3DMenu



3D 的菜单,有木有很酷炫。反正我觉得挺酷的。

这里主要探索 Camera的玩法, 2D与3D的结合。找到基本控件,分析结构组成,然后照着搭一遍,会有收获的。

还涉及有 Animator,Selectable 看看 MenuManager 上PanelManager.cs这个脚本,管理这个 Scene 的框架思想,当然这个框架有局限性,但是思想是棒棒的。

7. RenderTexture



RenderTexture, Camera 的另一个很酷炫的用法。搜一下教程,或直接看文档,了解一下 RenderTexture基本用法,对着当前 Scene 操作一遍。

RenderTexture官方文档1

RenderTexture官方文档2

这些Sample里面有些实现不是最简便的,都偏向用UnityEngine的API,直接撸代码(原谅一个新手觉得在图形界面拖拽更简单),耐下心来,查查用到的API,肯定能开阔眼界,如果想自己定制更复杂的 Component,肯定少不了这方面的努力。

建议:

这里只是一个方向去学uGUI,基本上够大部分情况用,建议先照着这些Demo已经实现的功能,用自己能实现的方式实现出来,再去研究更多可能的方法。不要再看到基本用法的时候,自己总想着一些更丰富的想法,然后在实践的时候,直接上手那些自己认为更丰富的想法。相信我,绝大多手都是眼高手低的证明,最后还是要一步步来,先将基本用法实现了,再一步步丰富一些功能。搞技术,本来就是个麻烦的活,偷工简料,忽悠不了自己,最后还是要补回来,一步步来,最踏实!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  uGUI unity