“我报名参加金石计划1期挑战——瓜分10万奖池,这是我的第10篇文章,点击查看活动详情”
👉关于作者
众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过程中会产生很多对于人生的质疑和思考,于是我决定将自己的思考,经验和故事全部分享出来,以此寻找共鸣!!!
专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等)
欢迎关注公众号【空名先生】获取更多资源和交流!
👉前提
这是小空坚持写的Unity新手向系列,欢迎品尝。
小空为了方便更多的人(新手)看明白,使用的汉字,真实项目尽量使用英文规则昂。
新手(√√√)
大佬(√)
👉实践过程
该组件的原理其实就控制一个目标组件的显示和隐藏,配合其他图片背景内容造成是一个开关的错觉。如图,是默认系统创建的一个Toggle控件。
重点在Toggle上,可以看到Toggle组件中的Transition和Button中的一样,有四个设置选项(下方有图,重点属性)无、颜色过度、精灵图切换过度、动画过度。更多详情可看小空Button的内容。
Is On:是否打开,对勾表示显示了下方Graphic属性中指定的图片,否则是隐藏,代码中可gameObject.GetComponent().isOn = false;随时修改
Toggle Transition:有两个值None和Fade,表示显示隐藏过程是否有渐变效果(时间很多)。
Graphic:指定要控制显示隐藏的图片。
Group:是开关组的概念,可以实现单选按钮功能。
On Value Changed(Boolean):类似于Button中的On Click,在这里添加事件,可以使得开关被点击的同时触发一些事件。
我们详细来一个Toogle组的案例
创建一个空物体,挂载Tiggle Group组件,之后创建两个Toggle组件,如下图:
然后将Toggle Group拖拽如两个Toggle组件的Group属性中,这时会如下图显示。
当勾选上Toggle Group中Allow Switch Off时,同一时间运行所有开关默认都是关闭的,不勾选则至少保留一个开关是开启的。
运行,就已经有了初步的效果,我们再添加点击事件,创建个TestToggle脚本,
public class TestToggle : MonoBehaviour
{
public void ToggleChange(bool stage)
{
Debug.Log("注意一定要选择Dynamic bool下的这个方法名");
}
public void ToggleChange(GameObject toggleGameObject)
{
Toggle tempToggle = toggleGameObject.GetComponent<Toggle>();
switch (toggleGameObject.name)
{
case "Toggle一":
if (tempToggle.isOn)
{
Debug.Log("点击了Toggle一" + "==" + tempToggle.isOn);
}
else
{
Debug.Log("点击了Toggle一" + "==" + tempToggle.isOn);
}
break;
case "Toggle二":
if (tempToggle.isOn)
{
Debug.Log("点击了Toggle一" + "==" + tempToggle.isOn);
}
else
{
Debug.Log("点击了Toggle一" + "==" + tempToggle.isOn);
}
break;
default:
break;
}
}
}
将脚本挂载在Toggle Group中,然后给Toggle一和Toggle二添加事件,将Toogle Group拖拽进来,然后方法的传递参数是Toggle自身,如我们上图所示。
运行后
👉其他
📢作者:小空和小芝中的小空
📢转载说明-务必注明来源:芝麻粒儿 的个人主页 - 专栏 - 掘金 (juejin.cn)
📢这位道友请留步☁️,我观你气度不凡,谈吐间隐隐有王者霸气💚,日后定有一番大作为📝!!!旁边有点赞👍收藏🌟今日传你,点了吧,未来你成功☀️,我分文不取,若不成功⚡️,也好回来找我。