NGUI之Toggle实现单选框
一:使用步骤——创建一个checkboxes
1.首先在UI Root下建立一个Sprite,设置一张贴图,当作按钮的背景。

然后为其添加碰撞组件和Toggle组件

2.为第一个Sprite建立一个子Sprite,设置一张图片,当作选中的标识。

将其调整到适当的位置。

3.选择第一个Sprite的UIToggle组件

为State Transition中的Sprite设置对象,即刚才添加的子Sprite。
以上便创建了一个checkboxes。
二:创建一个radio button groups
1.将上面创建的checkboxes复制3个。
2.将他们三个的UIToggle中的Group属性,都改为同一个数字,但不能是0。
注意:UIToggle中的Starting State如果勾选的话初始状态则为选择状态。

单选功能是实现了,但是选择其中一个toggle后无法取消选择(比如点击第一次就是选择状态再点一次就是取消选择),不知道是不是我的使用方法不正确~在网上找了也没找到NGUI自带的实现方法,然后就自己写了
代码如下:
using UnityEngine;
using System.Collections; public class toggle : MonoBehaviour
{
UIToggle[] toggles;
int value = ; //单选框所代表的的值:1、2、3 void Awake()
{
toggles = new UIToggle[];
for (int i = ; i < ; i++)
{
toggles[i] = this.transform.Find("Anchor/Panel/CheckBox/Toggle_" + (i+)).gameObject.GetComponent<UIToggle>();
print(toggles[i].name); toggles[i].gameObject.AddComponent<UIEventListener>();
UIEventListener.Get(toggles[i].gameObject).onClick = ButtonClick;
} } int click1 = ;
int click2 = ;
int click3 = ; void ButtonClick(GameObject obj)
{ string name = obj.name;
switch(name)
{
case "Toggle_1":
click1++;
click2 = ;
click3 = ;
if (click1 % == )
{
value = ;
toggles[].value = false;
GameObject sp = toggles[].transform.FindChild("Checkmark").gameObject;
sp.SetActive(false);
}
else
{
value = ;
GameObject sp = toggles[].transform.FindChild("Checkmark").gameObject;
sp.SetActive(true);
}
break; case "Toggle_2":
click2++;
click1 = ;
click3 = ;
if (click2 % == )
{
value = ;
toggles[].value = false;
GameObject sp = toggles[].transform.FindChild("Checkmark").gameObject;
sp.SetActive(false);
}
else
{
value = ;
GameObject sp = toggles[].transform.FindChild("Checkmark").gameObject;
sp.SetActive(true);
}
break; case "Toggle_3":
click3++;
click1 = ;
click2 = ;
if (click3 % == )
{
value = ;
toggles[].value = false;
GameObject sp = toggles[].transform.FindChild("Checkmark").gameObject;
sp.SetActive(false);
}
else
{
value = ;
GameObject sp = toggles[].transform.FindChild("Checkmark").gameObject;
sp.SetActive(true);
}
break; default:
break;
} print(value);
} }
NGUI之Toggle实现单选框的更多相关文章
- 使用 NGUI Toggle 制作单选框
好久没写了,今天来把关于NGUI的做的简单功能发上来~ 这个是做单选框的.用了新版本的NGUI后,发现没有以前的Checkbox了,在网上查了之后才知道是用Toggle代替了以前的Checkbox.现 ...
- 可分组的选择框控件(MVVM下)(Toggle样式 仿造单选框RadioButton,复选框CheckBox功能)
原地址: http://www.cnblogs.com/yk250/p/5660340.html 效果图如下:支持分组的单选框,复选框样式和MVVM下功能的实现.这是项目中一个快捷键功能的扩展. 1, ...
- PyQt4 的部件 -- CheckBox 单选框
单选框具有两种状态:被选中或未被选中. 当用户选择或者取消选择时,单选框就会发射一个stateChanged()信号 # QCheckBox 单选框 # 本例创建一个用来改变窗口标题的单选框 impo ...
- PyQt4单选框QCheckBox
PyQt4中的部件 部件是构建应用程序的基础元素.PyQt4工具包拥有大量的种类繁多的部件.比如:按钮,单选框,滑块,列表框等任何程序员在完成其工作时需要的部件. QCheckBox单选框 单选框具有 ...
- 【三石jQuery视频教程】02.创建 FontAwesome 复选框和单选框
视频地址:http://v.qq.com/page/m/8/c/m0150izlt8c.html 大家好,欢迎来到[三石jQuery视频教程],我是您的老朋友 - 三生石上. 今天,我们要通过基本的H ...
- 夺命雷公狗-----React---25--小案例之react经典案例todos(单选框的修改)
还是老样子,首先给li里面的单选框一个函数,然后通过props来对她进行处理 然后在ul里面对父组建进行传送 补充一下啊第一步,因为到时候要用到index属性,所以我们需要发送多一个index过来 然 ...
- 关于通过jq /js 实现验证单选框 复选框是否都有被选中
今天项目中遇到一个问题 就是要实现,单选框,复选框 同时都被选中才能进行下一步的问题,开始用js原生来写 怎么写都觉得不合适,通过for循环得出 复选框被选中的,在通过for循环得出单选框被选中的,问 ...
- [CSS]复选框单选框与文字对齐问题的研究与解决.
前言:今天碰到的这个问题, 恰好找到一个很好的博文, 在这里转载过来 学习下. 原文地址:复选框单选框与文字对齐问题的研究与解决. 目前中文网站上面的文字,就我的个人感觉而言,绝大多数网站的主流文字大 ...
- CSS3-实现单选框radio的小动画
在微信上看到一个教程文,觉得制作的小动画还是很有意思的,自己也试验了一下.一开始动画怎么都不执行(我用的HB),因为内置浏览器对css3的不兼容.加上各种浏览器前缀后就好了.但是旋转那个效果,在HB里 ...
随机推荐
- linux kernel & source code analysis& hacking
https://kernelnewbies.org/ http://www.tldp.org/LDP/lki/index.html https://kernelnewbies.org/ML https ...
- Eclipse build error 解决方法The library '*.jar' contains native libraries that will not run on the dev
[2013-08-29 16:56:58 - jarsotest] The library 'wnp.jar' contains native libraries that will not run ...
- error LNK2019: 无法解析的外部符号(编程解决方法)
正在编译...1>Ipv4IPv6traceroutesrc.cpp1>d:\研究生\c++\study\test\test\ipv4ipv6traceroutesrc.cpp(461) ...
- iphone6主板注释
- java华为面试题
JAVA方面 1 面向对象的特征有哪些方面 2 String是最基本的数据类型吗? 3 int 和 Integer 有什么区别 4 String 和StringBuffer的区别 5运行时异常与一般异 ...
- 【WPF】当 ItemsSource 正在使用时操作无效。改用 ItemsControl.ItemsSource 访问和修改元素
问题: 中文版报错:Additional information: 当 ItemsSource 正在使用时操作无效.改用 ItemsControl.ItemsSource 访问和修改元素. 英文版报错 ...
- u-boot 2016.05 添加自己的board 以及config.h
拿到一个uboot 后,我都想添加一个属于自己的board文件以及include/configs/*.h 文件. 如何添加这个些文件,今天来记录一下. 复制一份你所参考的板级文件,比如说board/v ...
- SparkR:数据科学家的新利器
摘要:R是数据科学家中最流行的编程语言和环境之一,在Spark中加入对R的支持是社区中较受关注的话题.作为增强Spark对数据科学家群体吸引力的最新举措,最近发布的Spark 1.4版本在现有的Sca ...
- 21个最佳jQuery插件推荐
在Javascript应用领域上,使用jQuery可以制作出非常优秀的动画效果,滑块.滑球,以及各种不同的应用.精选出21个最佳的精典案例,如果你是一个前端设计师,一定不要错过. Supersized ...
- 关于HFile的存储结构梳理以及快速定位rowkey
转自:http://blog.csdn.net/yangbutao/article/details/8394149 了解了布隆过滤器作用于HFile之上以及对HFile有了更深层次了解. 另有:htt ...