unity 中Toggle与button 循环翻页

一.toggle的用法
unity中使用 UGUI Toggle 和 Toggle Group 做单选列表
1.打开Unity,然后在场景中添加“Canvas”元素
2.在Canvas中添加“Panel”
3.在Panel下添加三个Toggle
Toggle中的Is On:默认是否选中
4.在Panel上添加“Toggle Group”组件
5.将Panel上的Toggle Group关联到Toggle的Group代码层中关联赋值
ToggleItem.group = toggleGroup;
这样就可以有单选功能了
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class toogle : MonoBehaviour
{
private void Awake()
{
GetComponent().onValueChanged.AddListener(OnValueChanged);
OnValueChanged(GetComponent().isOn);
}
private void OnValueChanged(bool value)
{
transform.GetChild(0).gameObject.SetActive(value);
}
}
这样子就可以通过ison来控制物体的setactive的值,
由此toggle中的ison选项是单选的,就可以通过这一机制来完成很多功能。

2.toggle与button的区别
而且toggle和button最大的区别在于,toggle的用法是能够在值改变时调用上面的方法,而button只能够在点击之后才能调用该方法

二,循环翻页
public void Move(int dir)
{
GameRoot.time = 0;

		if (dir==0)
		{
			index++;
			if (index >= rects.Length)
			{
				index = 0;
			}
			for (int i = 0; i < rects.Length; i++)
			{
				if (rects[i].localPosition.y >= offset * (rects.Length - 1))
				{
					rects[i].localPosition = new Vector3(0,-offset,0);
				}
				rects[i].DOLocalMoveY(rects[i].localPosition.y+offset,duraction);		
			}
		}
		else
		{
			index--;
			if (index < 0)
			{
				index = rects.Length - 1;
			}
			for (int i = 0; i < rects.Length; i++)
			{
				if (rects[i].localPosition.y <= - offset  *  (rects .Length -1))
				{
					rects[i].localPosition = new Vector3(0, offset, 0);
				}
				rects[i].DOLocalMoveY(rects[i].localPosition.y - offset, duraction);
			}
		}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值