unityunity3d toggle组件 怎么获取单选

Unity3D 开关按钮Toggle (可以做单选按钮)_精品文库_IThao123 - IT行业第一站
工作学习需要,要一个单选按钮,在Unity3D的API上 查到了“GUILayout.Toggle”为开关按钮,复选按钮:
&& Toggle (position : Rect, value : bool,
text: String) 返回一个bool值;
第一个参数是坐标,第二个参数 按钮的开或关(bool值),第三个参数 按钮显示的字符串;(PS:还有其它几个参数,有图片,纹理,样式.....请参考Unity文档);
&&& && 直接画两个Toggle到UI上,是两个都可以选中的,所以说是复选按钮嘛,如果想用单选,就加一些代码:
CS代码如下:
bool Automatic = bool UserOperate = void OnGUI()
if(GUILayout.Toggle(Automatic, &Automatic&))
UserOperate=
UserOperate=
if(GUILayout.Toggle(UserOperate, &UserOperate&))
Automatic=
Automatic= }
这样就实现了,单选的功能,如果要多加按钮,适当的添加几行代码即可........
各位大神,小弟目前只想到这个办法,如果有更好的方法,还请留言指导一下,谢谢~
日 12:56:56使用 NGUI Toggle 制作单选框 - Sakya00 - 推酷
使用 NGUI Toggle 制作单选框 - Sakya00
using UnityE
using System.C
public class toggle : MonoBehaviour
UIToggle[]
int value = 0;
//单选框所代表的的值:1、2、3
void Awake()
toggles = new UIToggle[3];
for (int i = 0; i & 3; i++)
toggles[i] = this.transform.Find(&Anchor/Panel/CheckBox/Toggle_& + (i+1)).gameObject.GetComponent&UIToggle&();
print(toggles[i].name);
toggles[i].gameObject.AddComponent&UIEventListener&();
UIEventListener.Get(toggles[i].gameObject).onClick = ButtonC
int click1 = 0;
int click2 = 0;
int click3 = 0;
void ButtonClick(GameObject obj)
string name = obj.
switch(name)
case &Toggle_1&:
click2 = 0;
click3 = 0;
if (click1 % 2 == 0)
value = 0;
toggles[0].value = false;
GameObject sp = toggles[0].transform.FindChild(&Checkmark&).gameO
sp.SetActive(false);
value = 1;
GameObject sp = toggles[0].transform.FindChild(&Checkmark&).gameO
sp.SetActive(true);
case &Toggle_2&:
click1 = 0;
click3 = 0;
if (click2 % 2 == 0)
value = 0;
toggles[1].value = false;
GameObject sp = toggles[1].transform.FindChild(&Checkmark&).gameO
sp.SetActive(false);
value = 2;
GameObject sp = toggles[1].transform.FindChild(&Checkmark&).gameO
sp.SetActive(true);
case &Toggle_3&:
click1 = 0;
click2 = 0;
if (click3 % 2 == 0)
value = 0;
toggles[2].value = false;
GameObject sp = toggles[2].transform.FindChild(&Checkmark&).gameO
sp.SetActive(false);
value = 3;
GameObject sp = toggles[2].transform.FindChild(&Checkmark&).gameO
sp.SetActive(true);
print(value);
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致UGUI学习笔记(Button、Toggle)
【Button控件】说起来这是一个组合控件,由Image和Text组成,如下图:
Button就是一个Image控件,上再加个Button的组件。这样的话Image的特性同样适用在Button上。这个我就不多了解了,要具体说下Button组件。
&这个选项是表示该控件是否能交互,会产生&&和&&的两个状态,一个可以点击,一个无法点击。
Transition是设置按钮交互时不同状态的UI变化,Color Tint时按钮不同状态产生颜色变化;Sprite Swap时按钮不同状态时使用不同图片;Animation时按钮不同状态使用不同的动画效果。
&这是UGUI中个UI的一个顺序排列,一般是要多个UI控件之间,你可以通过选中Visualize来直观得看到UI间的导航,设置好后,按你的上下左右试试。
在Button下的Text是显示在按钮上的文字,通常使用的不多,一般都会把文字直接做在图片上。
【Toggle控件】这个同样是个组合控件,先看下目录。
Toggle是个GameObject,上面挂着Toggle组件;Background是那个白色框框,里面的Checkmark就是那个勾了;Label就是描述文字。下面具体了解一下。
上半部分是不是似曾相识?对啊,和Button一模一样是不是!那我就直接说不一样的了。
&这项就是Toggle的状态,选中或非选中,通常都是脚本中获取状态或者变更状态。
&这是Toggle状态改变时的效果,渐显或者直接显示。
&这个没什么好说吧?然后就是Group,因为Toggle可以做多选也可以做单选,要实现单选我们就要用到Group。首先我们要先设计一个目录。
&&Group是一个GameObject,上面添加了一个ToggleGroup组件。Allow
Switch Off表示是否保证至少有一个是被选中的。
&然后我们讲Group拖到Group项中,单选就完成了!
看过本文的人也看了:
我要留言技术领域:
取消收藏确定要取消收藏吗?
删除图谱提示你保存在该图谱下的知识内容也会被删除,建议你先将内容移到其他图谱中。你确定要删除知识图谱及其内容吗?
删除节点提示无法删除该知识节点,因该节点下仍保存有相关知识内容!
删除节点提示你确定要删除该知识节点吗?1316人阅读
UGUI(24)
废话不说直接上图:
Toggle新建出来的就是多选框,如图黄线部分为多选框。。。辣么单选框肿么做呢????
首先新建2个Toggle和一个gameobject(gameobject放在Canvas下),然后给这个gameobject添加一个Toggle Group脚本。
之后把两个Toggle都选中,把gameobject拖给Toggle脚本中的 Group.详细见图:
之后为了好看把所有的Toggle放到Gameobject下,这样运行就是单选框了;见运行图:
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:87266次
积分:2272
积分:2272
排名:第13853名
原创:135篇
转载:41篇
评论:18条
(2)(15)(11)(14)(10)(4)(1)(4)(1)(1)(5)(3)(2)(6)(2)(4)(13)(6)(8)(6)(2)(18)(41)unity3d&通过复选框实现单选按钮
通过复选按钮实现单选按钮
&radioName=new
string[]{"string1","string2","string3"};//单选按钮显示内容
&&radioState=new bool[]
{false,false,false};&&&&&&&&&&//状态
&&IsshowGUI=
radioInt=0;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
void OnGUI()
&&&&&for(int
i=0;i&radioName.Li++)//用复选框实现单选按钮
&&&&&if(radioState[i]!=GUI.Toggle(new
Rect(10,100+i*30,200,30),radioState[i],radioName[i]))
&&&&&&radioState[i]=!radioState[i];//改变选择状态
&&&&&&if(radioInt!=i)
&&&&&&radioState[radioInt]=
&&&&&&radioInt=i;
&&&&&&obj=CloneTransfrom[i];
已投稿到:

我要回帖

更多关于 unity3d toggle group 的文章

 

随机推荐