【从零开始学NGUI 】 (十二)UIGrid

【从零开始学NGUI 】 (十二)UIGrid

在很多情况下,我们都会用到可以变化的列表,背包,公告,活动,等等,这个时候通常我们都会用到UIGrid

创建UIGrid

UIGrid一般都会与UIScrollView组合使用

首先打开NGUI Prefab Toolbar

NGUI-> Open ->  Prefab Toolbar

拖拽一个background 到Hierarchy面板中

创建一个Sprite 作为scrollview 的背景

创建一个Grid放在scrollview的下面

在Grid中创建几个Cell(Cell 做成Button)

Ps.添加Cell的时候可能在编辑界面会有很多Cell重叠 可是在运行的时候就不重叠了 UIGrid会为这些Cell重新排列位置(但是我还是看着很不爽  -   -  不爽就治你  哈哈)

有个小技巧 可以在编辑器下排列 点击UIGrid后面的小图标 -> Excute

这时位置就会和游戏运行时显示的位置一样了

给每个Cell添加UIDragScrollView组件并为其ScrollView赋值为刚创建的ScrollView

大致如下

这个时候运行

发现UIGird的位置不对

确定这个Grid的位置是一件比较头疼的事,这个问题困扰了我好久 , 看被人的解决方法是将Grid下面的所有Cell的Pivot设置为Left  可是我不想这样做  因为每个Cell创建的时候默认就是居中的

调整UIGrid位置

想了很久,试了很久,发现这个Gird的坐标位置就是第一个Cell相对于ScrollView的位置  因为我是添加了两列 所以Gird的坐标为

例如我创建的scrollView的大小为 800 * 500 Cell的大小为400 * 50 ,显示两列  所以第一个Cell的坐标为 ( -400 / 2 ,500 / 2 - 50 / 2 ) 即: (-200 , 225)

这个时候位置就对啦

时间: 2024-10-10 07:58:36

【从零开始学NGUI 】 (十二)UIGrid的相关文章

Java从零开始学四十二(DOM解析XML)

一.DOM解析XML xml文件 favorite.xml <?xml version="1.0" encoding="UTF-8" standalone="no"?> <PhoneInfo name="手机品牌"> <Brand name="华为"> <Type name="U8650"> </Type> </Brand

Java从零开始学三十二(正则表达式)

一.为什么要有正则 正则表达式可以方便的对数据进行匹配,可以执行更加复杂的字符串验证.拆份.替换功能. 例如:现在要求判断一个字符串是否由数字组成,则可以有以下的两种做法: 不使用正则完成 使用正则完成 二.Pattern.Matcher类 如果要想在程序中应用正则表达式则必须依靠Pattern类与Matcher类,这两个类都在java.util.regex包中定义.Pattern类的主要作用是进行正则规范的编写,而Matcher类主要是执行规范,验证一个字符串是否符合其规范. 常用正则规则 N

从零开始学安全(十二)●建立自己的DNS服务器

我们的环境windows server 2012   虚拟机 打开服务器的添加角色和向导功能 添加DNF服务器安装 点击 在正向查找区域 反键新建区域 这里我一般输入一级域名 这是输入baidu.com  一直下一步默认 让后新建主机 这里我们输入 www     ip 地址就是dnf 在解析用户输入的域名后 要跳到的ip  我们的环境局域网  这里的ip 我填的我主机的ip  DNs服务器在收到www.baidu.com 请求时解析的ip就是我填写的ip 服务器配置完了 我要更改dns 服务器

从零开始学Xamarin.Forms(二) 环境搭建、创建项目

一.环境搭建 Windows下环境搭建: 1.下载并安装jdk及android sdk: 2.下载Xamarin.VisualStudio,可以从官方下在线安装的,也可以下载3.0.54版本的离线安装包. 3.下载完毕运行安装程序,按照提示一步一步安装即可. Mac下环境搭建: 官方在线安装 二.创建Xamarin.Forms项目 1.新建项目,选择"Blank App(Xamarin.Forms Portable)" 创建完毕后,项目结构如下图: 2.更新程序集 由于默认的Xamar

linux就该这么学第十二课

linux就该这么学第十二课 Apache 美国 Nginx 俄罗斯 极限挑战: 128M linux+网站 64M linux+网站 32M linux+网站 网站报错:500 502 硬件资源超负荷 LAMP linux apache mysql php LNMP linux nginx mysql php 光盘永久挂载 /dev/cdrom /media/cdrom iso9660 defaults 0 0 安装httpd服务 即apche服务 网站数据存放路径:/var/www/html

从零开始学正则(二)

 壹 ? 引 我在从零开始学正则(一)这篇文章中介绍了正则横向模糊与纵向模糊匹配模式,以及常用的字符组与量词,掌握了这些其实已经算正则入门了.在文尾留下了两个正则问题,请写出匹配24小时制时间与16进制颜色的正则,在学习第二章之前我们先搞定这两个问题. 24小时制时间格式一般是09:30这样,小时的第一位数字可能是[0-2]三种情况之一,当为0,1时,第二位数字可以是[0-9]任意数字,当为2时第二位数字只能是0-3之间的数字.第三位数字只能是0-5之间的数字,最后一位数字只能是0-9之间. 我

从头开始学JavaScript (十二)——Array类型

一.数组的创建 注:ECMAscript数组的每一项都可以保存任何类型的数据 1.1Array构造函数 var colors = new Array(); 如果预先知道数组要保存的项目数量,也可以给构造函数传递该数量: var colors = new Array(20); 也可以向构造函数传递数组中应该包含的项: var colors = new Array("red", "blue", "green"); 给构造函数传递一个值也可以创建数组:

Java从零开始学三十五(JAVA IO- 字节流)

一.字节流 FileOutputStream是OutputStream 的直接子类 FileInputStream也是InputStream的直接子类 二.文本文件的读写 2.1.字节输入流 Test.txt文件内容 abcdefg package com.pb.io; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOExcept

Java从零开始学三十六(JAVA IO- 字符流)

一.字符流 BufferedReader:BufferedReader是从缓冲区之中读取内容,所有的输入的字节数据都将放在缓冲区之中 BufferedWriter:把一批数据写入到缓冲区,当缓冲区区的满时,再把缓冲区的内容写到字符输出流中 二.对文本文件的读写 2.1.字符输入流 2.2.字符输出流 2.3.综合使用 package com.pb.io.buffered; import java.io.BufferedReader; import java.io.BufferedWriter;