NGUI3.5系列教程之 一些小功能的实现
(一)可拖动窗体的实现:
1:添加一个Sprite为鼠标点击区域,改名为:DragSprite
2:给DragSprite添加Collider
3:给DragSprite添加Drag Object ,脚本为"UIDrag Object"
4:为UIDrag Object下的Target赋值:拖动Panel到Target。

当我们拖动窗体时,有可能把窗体拖出屏幕外面,我们可以勾选UIDragObject的KeepVisible,然后把拖动区域的图片设置到ContentRect下,这样当窗体跑出屏幕后,会被自动弹回来

(二)改变窗体大小的实现:
UIDragResize脚本

1:添加一个Sprite为鼠标点击Drag区域
2:将该Sprite锚定到顶层Sprite的右下角
3:给该Sprite添加Collider
4:给该Sprite添加Drag-Resize Widget,脚本为"UIDragResize"
5:为UIDragResize下的Target赋值:拖动顶层的Sprite添加到Target。
5:设置Pivot为BottomRight,此为改变大小的点。
(三)ScrollView的实现
1.添加滚动条即ScrollBar。
滚动条我要做成横向的,所以把Direction设置成:LeftToRight;

调整Background 和Foreground的长度,两者的Dimensions的长必须一致,宽根据自己的感觉调整,无所谓;
(2)创建一个ScrollView。
调整好ScrollView上UIPanel的裁剪区域。


调整UIScrollView :
Content Origin :这是下面子项目的对齐方式,为了从左边开始,将其设置成Left
Movement: Horizontal 即水平位移
其他的默认即可
将刚才创建的ScrollBar赋值到ScrollBars下的Horizontal。如果要做垂直方向的要赋值到Vertical下。。

(3)添加UIGrid,此脚本为子项排布
Arragement:排布方向
Horizontal:水平方向
Vertical:垂直方向
Cell Width: 每个子项占据的宽度
Cell Height: 每个子项占据的高度

(4)在ScrollView下创建子项。
随意创建几个button。
然后运行就能看到效果了。

(5)实现子项的拖拽
只需为每个button添加UIDragScrollView,就能实现点击拖拽功能了。很简单吧。。。
NGUI3.5系列教程之 一些小功能的实现的更多相关文章
- Spring 系列教程之容器的功能
Spring 系列教程之容器的功能 经过前面几章的分析,相信大家已经对 Spring 中的容器功能有了简单的了解,在前面的章节中我们一直以 BeanFacotry 接口以及它的默认实现类 XmlBea ...
- Python Twisted系列教程7:小插曲,Deferred
作者:dave@http://krondo.com/an-interlude-deferred/ 译者:杨晓伟(采用意译) 你可以从这里从头开始阅读这个系列 回调函数的后序发展 在第六部分我们认识这 ...
- 【redis 学习系列08】Redis小功能大用处02 Pipeline、事务与Lua
3.Pipeline 3.1 Pipeline概念 Redis客户端执行一条命令分为如下四个过程: (1)发送命令 (2)命令排队 (3)命令执行 (4)返回结果 其中(1)和(4)称为Round T ...
- Vue + Webpack + Vue-loader 系列教程(1)功能介绍篇
原文地址:https://lvyongbo.gitbooks.io/vue-loader/content/ Vue-loader 是什么? vue-loader 是一个加载器,能把如下格式的 Vue ...
- 【redis 学习系列07】Redis小功能大用处01 慢查询分析以及Redis Shell
Redis提供了5种数据结构已经足够强大,但除此之外,Redis还提供了诸如慢查询分析.功能强大的Redis Shell.Pipeline.事务与Lua脚本.Bitmaps.HyperLogLog.发 ...
- 【全网最全的博客美化系列教程】02.添加QQ交谈链接
全网最全的博客美化系列教程相关文章目录 [全网最全的博客美化系列教程]01.添加Github项目链接 [全网最全的博客美化系列教程]02.添加QQ交谈链接 [全网最全的博客美化系列教程]03.给博客添 ...
- 【全网最全的博客美化系列教程】08.自定义地址栏Logo
全网最全的博客美化系列教程相关文章目录 [全网最全的博客美化系列教程]01.添加Github项目链接 [全网最全的博客美化系列教程]02.添加QQ交谈链接 [全网最全的博客美化系列教程]03.给博客添 ...
- 【全网最全的博客美化系列教程】01.添加Github项目链接
全网最全的博客美化系列教程相关文章目录 [全网最全的博客美化系列教程]01.添加Github项目链接 [全网最全的博客美化系列教程]02.添加QQ交谈链接 [全网最全的博客美化系列教程]03.给博客添 ...
- Smart3D系列教程4之 《案例实战演练1——小物件的照片三维重建》
一.前言 Wish3D出品的Smart3D系列教程已经推出3讲了,分别是关于倾斜摄影三维建模原理应用.照片采集技巧.Smart3D各个功能模块的作用,它们都是围绕Smart3D建模软件进行的讲解.那么 ...
随机推荐
- poj 1695 动态规划
思路:和黑书上的跳舞机类似 #include<map> #include<set> #include<cmath> #include<queue> #i ...
- Android渠道汇总
序号 渠道名 渠道说明 特殊渠道 1 googleplay google市场 2 umeng 自动更新 3 office_web 官方网络 4 office_qrcode 官方二维码 硬件 ...
- 解决 Oracle em 无法打开的问题
重建em emca -deconfig dbcontrol db -repos drop 删除 emca -config dbcontrol db -repos create 创建 set ora ...
- disucz!NT 3.5.0 验证码点击不能变化只是样式变化
来博客园这么久了,第一次写博客啊!公司有个论坛10年没动了,是discuz!NT 3.5.0版本的,由于验证码不能变化老是被人刷.网上找了很多资料根本没有.可能有同行下次也会遇到这样的问题,我就把我的 ...
- list转换成DataTable
list转换成DataTable类如下: public static DataTable ToDataTable<T>(this IList<T> datas) { DataT ...
- swift创建对象use of undeclared type 自己的类
在swift项目中,引用自己创建的类,编译会成功的,但是会出现红色感叹号,类似报错,如:swift创建对象use of undeclared type 自己的类,或者 use of unresolv ...
- Apple Watch开发之界面之间的正向传值
主要分两种,一种是故事板中通过segue进行的传值,第二种是使用代码. 贴代码 24行代码是代码进行传值 35是故事板中的
- hdu 1002大数(Java)
A + B Problem II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- usb2.0 规范学习笔记
1.一个USB HOST 最多可以同时支持128 个地址,地址0 作为默认地址,只在设备枚举期间临时使 用,而不能被分配给任何一个设备,因此一个USB HOST 最多可以同时支持127 个地址,如果一 ...
- 10款精美的web前端源码的特效
1.HTML5侧滑聊天面板 很酷的聊天界面 这是一款基于HTML5和SVG的侧滑聊天面板,初始化的时候聊天面板是锁定的,当你拖动白色区域时,即可解锁展开聊天面板,显示所有好友.点击面板中的好友即可切换 ...