八、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的更多相关文章

随机推荐

  1. C++11 static_assert

    C++11 static_assert C++0x中引入了static_assert这个关键字,用来做编译期间的断言,因此叫做静态断言. 其语法:static_assert(常量表达式,提示字符串). ...

  2. Mr. Frog’s Game

    Mr. Frog’s Game Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)T ...

  3. 【开源】【前后端分离】【优雅编码】分享我工作中的一款MVC+EF+IoC+Layui前后端分离的框架——【NO.1】框架概述

    写博客之前总想说点什么,但写的时候又忘了想说点什么,算了,不说了,还是来送福利吧. 今天是来分享我在平时工作中搭建的一套前后端分离的框架. 平时工作大多时候都是在做管理类型的软件开发,无非就是增.删. ...

  4. kafka单机模式部署安装,zookeeper启动

    在root的用户下 1):前提 安装JDK环境,设置JAVA环境变量 2):下载kafka,命令:wget  http://mirrors.shuosc.org/apache/kafka/0.10.2 ...

  5. DOM遍历 - 过滤

    缩写搜索元素的范围 三个最基本的过滤方法是:first(), last() 和 eq(),它们允许您基于其在一组元素中的位置来选择一个特定的元素. 其他过滤方法,比如 filter() 和 not() ...

  6. 让普通 Java 类自动感知 Activity Lifecycle

    背景 在 Android 开发中,我们都很熟悉 Activity 的 Lifecycle,并且会在特定的 Lifecycle 下执行特定的操作.当然,我们清楚 Lifecycle 本身是带有 Andr ...

  7. c语言学习笔记 —— 数组

    1. 数组的内存分配原理. 数组定义  int a[3] = {1,3,11}; 如下写法是错误的: int number; int a[number] = {1,7,9}; 原因是:没有定长的数组初 ...

  8. JavaScript系列----作用域链和闭包

    1.作用域链 1.1.什么是作用域 谈起作用域链,我们就不得不从作用域开始谈起.因为所谓的作用域链就是由多个作用域组成的.那么, 什么是作用域呢? 1.1.1作用域是一个函数在执行时期的执行环境. 每 ...

  9. 实现基于LVS负载均衡集群的电商网站架构

    背景 上一期我们搭建了小米网站,随着业务的发展,网站的访问量越来越大,网站访问量已经从原来的1000QPS,变为3000QPS,网站已经不堪重负,响应缓慢,面对此场景,单纯靠单台LNMP的架构已经无法 ...

  10. ASP.NET没有魔法——ASP.NET MVC 过滤器(Filter)

    上一篇文章介绍了使用Authorize特性实现了ASP.NET MVC中针对Controller或者Action的授权功能,实际上这个特性是MVC功能的一部分,被称为过滤器(Filter),它是一种面 ...