(一)可拖动窗体的实现:

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系列教程之 一些小功能的实现的更多相关文章

  1. Spring 系列教程之容器的功能

    Spring 系列教程之容器的功能 经过前面几章的分析,相信大家已经对 Spring 中的容器功能有了简单的了解,在前面的章节中我们一直以 BeanFacotry 接口以及它的默认实现类 XmlBea ...

  2. Python Twisted系列教程7:小插曲,Deferred

    作者:dave@http://krondo.com/an-interlude-deferred/  译者:杨晓伟(采用意译) 你可以从这里从头开始阅读这个系列 回调函数的后序发展 在第六部分我们认识这 ...

  3. 【redis 学习系列08】Redis小功能大用处02 Pipeline、事务与Lua

    3.Pipeline 3.1 Pipeline概念 Redis客户端执行一条命令分为如下四个过程: (1)发送命令 (2)命令排队 (3)命令执行 (4)返回结果 其中(1)和(4)称为Round T ...

  4. Vue + Webpack + Vue-loader 系列教程(1)功能介绍篇

    原文地址:https://lvyongbo.gitbooks.io/vue-loader/content/ Vue-loader 是什么? vue-loader 是一个加载器,能把如下格式的 Vue ...

  5. 【redis 学习系列07】Redis小功能大用处01 慢查询分析以及Redis Shell

    Redis提供了5种数据结构已经足够强大,但除此之外,Redis还提供了诸如慢查询分析.功能强大的Redis Shell.Pipeline.事务与Lua脚本.Bitmaps.HyperLogLog.发 ...

  6. 【全网最全的博客美化系列教程】02.添加QQ交谈链接

    全网最全的博客美化系列教程相关文章目录 [全网最全的博客美化系列教程]01.添加Github项目链接 [全网最全的博客美化系列教程]02.添加QQ交谈链接 [全网最全的博客美化系列教程]03.给博客添 ...

  7. 【全网最全的博客美化系列教程】08.自定义地址栏Logo

    全网最全的博客美化系列教程相关文章目录 [全网最全的博客美化系列教程]01.添加Github项目链接 [全网最全的博客美化系列教程]02.添加QQ交谈链接 [全网最全的博客美化系列教程]03.给博客添 ...

  8. 【全网最全的博客美化系列教程】01.添加Github项目链接

    全网最全的博客美化系列教程相关文章目录 [全网最全的博客美化系列教程]01.添加Github项目链接 [全网最全的博客美化系列教程]02.添加QQ交谈链接 [全网最全的博客美化系列教程]03.给博客添 ...

  9. Smart3D系列教程4之 《案例实战演练1——小物件的照片三维重建》

    一.前言 Wish3D出品的Smart3D系列教程已经推出3讲了,分别是关于倾斜摄影三维建模原理应用.照片采集技巧.Smart3D各个功能模块的作用,它们都是围绕Smart3D建模软件进行的讲解.那么 ...

随机推荐

  1. ionic tabs-top

    类似QQ软件中,首页面消息和通话的两个按钮来回切换各自的内容,还是很常见的功能. (.bar-subheader是为了防止内容部分隐藏在header下) <ion-view title=&quo ...

  2. SVN Server导项目到本地库时提示"方法OPTIONS失败与无法连接到服务器"

    方法 OPTIONS 失败于 “https://xxxx/svn/xxxx”: 无法连接到服务器 (https://xxxx) 要留意  https 使用了443 端口,检查防火墙是否开放了该端口. ...

  3. PHP面向对象之将数据库的查询结果序列化成json格式

    <?php class link_mysql{ private $host,$uid,$pwd,$db,$link,$res; function link_mysql($_host,$_uid, ...

  4. java识别验证码

    所需资源下载链接(资源免费,重在分享) Tesseract:http://download.csdn.net/detail/chenyangqi/9190667 jai_imageio-1.1-alp ...

  5. MVC 全站开启缓存,缓解服务器的请求压力

    protected void Application_BeginRequest() { //获取当前请求的url string url = HttpContext.Current.Request.Pa ...

  6. Cocos2d-x移植到WindowsPhone8移植问题-libNetwork库移植问题

    Cocos2d-x提供了libNetwork库的源代码,而且还提供了libNetwork库的源代码Visual Studio 2012工程文件libNetwork.vcxproj,这样就更方便移植了. ...

  7. 【学习笔记】【C语言】选择结构-if

    1.if的第1种结构 if(条件) {     语句1;     语句2;     ...... } 如果if右边小括号()中的条件成立,也就是为“真”时,就会执行大括号{}中的语句: 如果条件为假, ...

  8. 【学习笔记】【C语言】scanf函数

    1. 简介 这也是在stdio.h中声明的一个函数,因此使用前必须加入#include <stdio.h>.调用scanf函数时,需要传入变量的地址作为参数,scanf函数会等待标准输入设 ...

  9. c#扩展方法-摘自msdn

    扩展方法使你能够向现有类型“添加”方法,而无需创建新的派生类型.重新编译或以其他方式修改原始类型. 扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用.  对于用 C# 和 Vis ...

  10. 安装MySQL软件

    安装MySQL软件(绿色版) ① 解压软件包 ② 更改文件夹名称为mysql并复制到/usr/local文件夹下 ③ 使用cd指令进入/usr/local/mysql文件夹,使用ls –l查看 查看后 ...