【3D技术宅公社】XR数字艺术论坛  XR技术讨论 XR互动电影 定格动画

 找回密码
 立即注册

QQ登录

只需一步,快速开始

调查问卷
论坛即将给大家带来全新的技术服务,面向三围图形学、游戏、动画的全新服务论坛升级为UTF8版本后,中文用户名和用户密码中有中文的都无法登陆,请发邮件到324007255(at)QQ.com联系手动修改密码

3D技术论坛将以计算机图形学为核心,面向教育 推出国内的三维教育引擎该项目在持续研发当中,感谢大家的关注。

查看: 11847|回复: 4

[NGUI插件] NGUI控件说明(中文) UIPopupList

[复制链接]
发表于 2014-1-28 23:28:58 | 显示全部楼层 |阅读模式
本帖最后由 夜行的猫仔 于 2014-10-19 02:06 编辑

原创:夜行的猫仔  (见2楼)在网上查到的UIPopupList文章都如下所示,猫仔自己总结了一些用法放在2楼,希望用得上。
---------------------------------------------------------------------------------------------------
把UIPopupList脚本挂到一个button上,就可以在你点击按钮的时候弹出选项列表,之后选择你想要的选项。



想要创建一个有很多选项的popup list,首先你要挂一个UIPopupList脚本到一个Button上,然后指定AtlasFont属性。你可以选择指定的sprite当做BackgroundHeighlight。Background用来当做弹出列表的背景,Heightlight是用来表示当前选项的高亮sprite。

可以在Options框里面为Popup List指定不同的选项。这是一个多行文本框,每一行就是一个选项。比如有三个选项——“First”,“Second”和“Third”——你输入的内容如下:



[mw_shl_code=csharp,true]First  
Second  
Third [/mw_shl_code]
Font表示创建popup list的label用的什么字体。上面图中first、second和third选项的label就是用inspector中指定的“Arimo20”字体创建的。如果你用的bitmap字体,你可能需要修改Font Size;如果是dynamic字体,你可能要修改Font Style。Text Color用来修改文字的颜色,Padding用来控制文字与从Atlas中选择的Background(border)之间的间隔。

如果不想要弹出选项时候的动画,而仅仅就是直接显示选项,可以勾选掉Animated选项。

如果选项要使用本地化系统Localization System,勾选Localized。

OnValueChange部分你可以指定一个函数,当选项变化的时候调用。如果你有一个label,可以用它的SetCurrentSelection函数来显示当前Popup List选择的选项。操作步骤是把这个label的game object拖拽到Notify属性里面,之后在下拉框里面选择UILabel.SetCurrentPercent。

通过代码可以监听变化,使用EventDelegate.Add函数:
[mw_shl_code=csharp,true]EventDelegate.Add(popupList.onChange, YourFunction); [/mw_shl_code]
YourFunction的类型应该是void FuncName(void),下面这样:[mw_shl_code=csharp,true]void YourFunction ()  
{  
    Debug.Log("Selection: " + UIPopupList.current.value);  
}[/mw_shl_code]
小贴士

通过引用一个按钮的label到OnValueChange中,并且选择UILabel.SetCurrentSelection方法,可做出一个比较实用的Popup List。这样做回让label自动更新成你选择的选项。

类文档

http://tasharen.com/ngui/docs/class_u_i_popup_list.html
 楼主| 发表于 2014-10-18 23:01:16 | 显示全部楼层
本帖最后由 夜行的猫仔 于 2014-10-18 23:02 编辑

关于UIPopupList在网上查找得到的结果基本上都是上篇转载的内容,但是真正使用这个控件的人,上篇帖子基本上解决不了问题,最根本的办法是去NGUI看官方文档。
http://tasharen.com/ngui/docs/class_u_i_popup_list.html

如果你的英文不好,又是个伸手党,可以看下面的:
1.创建一个UIPopupList要准备哪些资源?

这个控件创建的时候需要三张图片:一张文本输入框的的图,一个下来菜单的背景图和一个表示选择项的高亮背景条。

2UIPopupList里的哪些选项如何用代码添加?
这个期初也把我难为了很久,百度的都是上篇文章,丝毫没有帮助,最后在官方网站上看到了希望。
[mw_shl_code=csharp,true]List<string> UIPopupList.items = new List<string>()
New line-delimited list of items.[/mw_shl_code]

就是这个list!!
那么就简单了。

[mw_shl_code=csharp,true]UIPopupList  Poplist;
Poplist.items.Add("第1条");
Poplist.items.Add("第2条");[/mw_shl_code]
发表于 2014-11-21 14:30:49 | 显示全部楼层
非常好,先收藏
发表于 2016-4-25 14:51:30 | 显示全部楼层
夜行的猫仔 发表于 2014-10-18 23:01
关于UIPopupList在网上查找得到的结果基本上都是上篇转载的内容,但是真正使用这个控件的人,上篇帖子基本 ...

十分的感谢
发表于 2016-6-28 17:14:37 | 显示全部楼层
非常好,先收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|3D数字艺术论坛 ( 沪ICP备14023054号 )

GMT+8, 2024-4-25 12:03

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表