好久没写了,今天来把关于NGUI的做的简单功能发上来~

这个是做单选框的。用了新版本的NGUI后,发现没有以前的Checkbox了,在网上查了之后才知道是用Toggle代替了以前的Checkbox。现在使用Toggle也能实现单选框的效果了(把三个Toggle的group设为同一个数字就能实现三选一),单选功能是实现了,但是选择其中一个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);
} }

最新文章

  1. “RazorEngine.Templating.TemplateParsingException”类型的异常在 RazorEngine.NET4.0.dll 中发生,但未在用户代码中进行处理 其他信息: Expected model identifier.
  2. Beta工作比例(Transcend)
  3. centos7 安装jdk1.8
  4. [转]KendoUI系列:Grid
  5. hash-5.ConcurrentHashMap
  6. 配置FastDFS
  7. 严重: Error configuring application listener of class org.springframework.web.context.ContextLoaderListener
  8. flex+AS3编程规范
  9. javaScript 要点(十五)HTML DOM 导航
  10. Windows PowerShell:管理服务器
  11. 记录下mybatis中#{}和${}传参的区别
  12. Lipschitz连续【zz】
  13. git 使用系列(二)---- 分支和合并
  14. [daily] fedora用过光盘做dnf repo
  15. Nginx入门【转】
  16. DNSlog盲注
  17. 浅析 JavaScript 链式调用
  18. 【转载】14个你可能不知道的 JavaScript 调试技巧
  19. centos7安装Python3的过程中会和Python2.7版本冲突导致yum版本比对应,致使yum不能使用的问题。
  20. 设计模式 - 代理模式(Proxy Pattern)

热门文章

  1. Ajax 使用formdata 实现 无刷新表单上传
  2. Android Studio 中修改versionCode跟versionName
  3. 不仅仅是浏览器 走近Chrome开发人员工具
  4. 【SQL Server学习笔记】事务、锁定、阻塞、死锁 sys.sysprocesses
  5. 启用多处理器编译--加快VS2013编译
  6. nobr 不换行标签
  7. Python - 文本处理模块
  8. [转载]深入理解java多态性
  9. Linq-语句之Select/Distinct和Count/Sum/Min/Max/Avg
  10. Node.js meitulu图片批量下载爬虫1.06版