NGUI_PopupList
八、PopuList下拉菜单
1、使用Populist的规律:
(1)、有一系列选项需要玩家做出选择,这些选项是有限多个的。
(2)、这些选项玩家必须选择一个,也只能选择一个。
(3)、这些选项如果全部出来用Toggle制作单选功能会非常占用屏幕空间。
2、开始制作(当然也可以从Prefabs ToolBar汇总选择相关预制体即可)
(1)、创建一个Sprite,用来当做下拉框的背景
(2)、为该Sprite添加BoxCollider和附加Populist Scrpts组件
(3)、输入下拉框中的内容即可。

3、下拉框选中的内容显示:
此时在下拉框中选中一个选项后,并没有显示出来,这是少了个用来显示的Label,我们在Spritede的节点下添加一个即可,
注意设置锚点大小,锚点的设置在后面会用一篇文章来介绍。当添加完毕后,将Label拖到下拉菜单PopupList组件的On Value Change 回调中
,选择SetCurrentSelection方法,这样当PopupList的选项改变时,当前选中的选项会更新到与这个关联的Label中进行显示。
4、参数详解;

(1)、Options:这是下拉菜单的各个选项录入的地方,识别方式为按行识别
(2)、Default:默认情况下选中的选项,默认情况下会自动填充我们录入的第一个选项
(3)、Position
3.1、Auto :菜单将会自动决定是从上方弹出还是从下方弹出【建议是使用AUTO,因为屏幕的的大小是不固定的】
3.2、Above;菜单将会从上方弹出
3.3、Blow:菜单将会从下方弹出
(4)、Alignment:对齐方式:
(5)、Open on:打开的方式:
5.1、ClickOrTap:单击出现菜单
5.2、RightClick:右击出现菜单
5.3、DoubleClick:双击出现菜单
5.4、Manual:手动出现,只有通过代码进行控制
(6)、Localized:指菜单中的文本是否可以被本地化。本地化就是多语言翻译。
(7)、Atlas;图集设定
7.1、Atlas:选择图集
7.2、Background:设置下拉菜单的背景的精灵图片,还可以设置颜色
7.3、Highlight:设定下拉菜单出现后,鼠标移到选项上高亮显示的图片,也可设定颜色。
(8)、Font:设定菜单文本的文字,字号大小
(9)、On Value Change:触发时间
注意:在制作下拉菜单的时候,一定要注意以下事项;
1、一定要有接收单击事件的BoxCollider。
2、填写选项时,一定要注意换行
3、如果下拉菜单是为了让玩家选择语言的,则更要注意本地化的设置和字体的设置。
2017-12-17、21:32:36
NGUI_PopupList的更多相关文章
随机推荐
- C++11 static_assert
C++11 static_assert C++0x中引入了static_assert这个关键字,用来做编译期间的断言,因此叫做静态断言. 其语法:static_assert(常量表达式,提示字符串). ...
- Mr. Frog’s Game
Mr. Frog’s Game Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)T ...
- 【开源】【前后端分离】【优雅编码】分享我工作中的一款MVC+EF+IoC+Layui前后端分离的框架——【NO.1】框架概述
写博客之前总想说点什么,但写的时候又忘了想说点什么,算了,不说了,还是来送福利吧. 今天是来分享我在平时工作中搭建的一套前后端分离的框架. 平时工作大多时候都是在做管理类型的软件开发,无非就是增.删. ...
- kafka单机模式部署安装,zookeeper启动
在root的用户下 1):前提 安装JDK环境,设置JAVA环境变量 2):下载kafka,命令:wget http://mirrors.shuosc.org/apache/kafka/0.10.2 ...
- DOM遍历 - 过滤
缩写搜索元素的范围 三个最基本的过滤方法是:first(), last() 和 eq(),它们允许您基于其在一组元素中的位置来选择一个特定的元素. 其他过滤方法,比如 filter() 和 not() ...
- 让普通 Java 类自动感知 Activity Lifecycle
背景 在 Android 开发中,我们都很熟悉 Activity 的 Lifecycle,并且会在特定的 Lifecycle 下执行特定的操作.当然,我们清楚 Lifecycle 本身是带有 Andr ...
- c语言学习笔记 —— 数组
1. 数组的内存分配原理. 数组定义 int a[3] = {1,3,11}; 如下写法是错误的: int number; int a[number] = {1,7,9}; 原因是:没有定长的数组初 ...
- JavaScript系列----作用域链和闭包
1.作用域链 1.1.什么是作用域 谈起作用域链,我们就不得不从作用域开始谈起.因为所谓的作用域链就是由多个作用域组成的.那么, 什么是作用域呢? 1.1.1作用域是一个函数在执行时期的执行环境. 每 ...
- 实现基于LVS负载均衡集群的电商网站架构
背景 上一期我们搭建了小米网站,随着业务的发展,网站的访问量越来越大,网站访问量已经从原来的1000QPS,变为3000QPS,网站已经不堪重负,响应缓慢,面对此场景,单纯靠单台LNMP的架构已经无法 ...
- ASP.NET没有魔法——ASP.NET MVC 过滤器(Filter)
上一篇文章介绍了使用Authorize特性实现了ASP.NET MVC中针对Controller或者Action的授权功能,实际上这个特性是MVC功能的一部分,被称为过滤器(Filter),它是一种面 ...