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

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. asp.net MVC 如何隐藏 Response Header 版本号

    根据借楼最少资源原则,有时候MVC需要隐藏自己的版本号,其实这里也是比较简单的,只需要在Global.ascx 的Application_Start()中添加一行代码既可 添加为  MVCHandle ...

  2. WPF ScrollViewer(滚动条) 自定义样式表制作 再发一套样式 细节优化

    艾尼路 出的效果图 本人嵌套 WPF ScrollViewer(滚动条) 自定义样式表制作 图文并茂 WPF ScrollViewer(滚动条) 自定义样式表制作 (改良+美化) 源代码

  3. C++类(一)

    #include<iostream> #include<string> using namespace std; //找了很久,似乎都是类放在Main方法体上 class Pe ...

  4. android 使用NinePatch图作Background,导致布局混乱

    在Layout中使用NinePatch图片作为其布局的背景图片时,可能会导致Layout中的布局发生混乱,此时将此Layout设置一个属性:android:padding="0dp" ...

  5. [转]GCC参数详解

    [介绍] gcc and g++分别是gnu的c & c++编译器 gcc/g++在执行编译工作的时候,总共需要4步 1.预处理,生成.i的文件[预处理器cpp] 2.将预处理后的文件不转换成 ...

  6. Objective-C 【从文件中读写字符串(直接读写/通过NSURL读写)】

    ———————————————————————————————————————————从文件中读写字符串(直接读写/通过NSURL读写) #import <Foundation/Foundati ...

  7. 【转】C#异步编程及其同步机制

    C#异步编程及其同步机制 本篇文章涵盖一下几部分内容: 1. 什么是异步编程,为什么会需要异步编程 2. .NET下的异步编程及其发展 3. .NET线程同步机制及线程间数据封送 4. 异步模式 5. ...

  8. 20141110--SQL视图

    --------------------------视图--------------------- --视图是一个虚拟表,数据来自于原表,原表的数据改变,视图也会改变 select Student.S ...

  9. 嵌入值和序列化LOB

    Embedded Value 把一个对象映射成另一个对象表中的若干字段. OO系统中会有很多小对象(DataRange,Money).而作为表在DB中毫无意义. 默认想法是把一个对象保存为一个表. 但 ...

  10. BigInteger大数家法源代码及分析

    我们可以把一个很大很长的数分成多个短小的数,然后保存在一个数组中,大数之间的四则运算及其它运算都是通过数组完成.JDK就是这么实现的.JDK的BigInteger类里用一个int数组来保存数据: /* ...