unity-使用NGUI 两个Button实现左右切换功能
来源:互联网 发布:php 一句话木马 菜刀 编辑:程序博客网 时间:2024/05/21 23:46
界面搭建如下图:
在两个箭头的Button上添加脚本ClickToDragBtn.cs
using UnityEngine;//点击之后实现拖拽效果的切换public class ClickToDragBtn : MonoBehaviour{ /// <summary> /// 枚举:按钮点击后要实现拖拽效果的方向 /// </summary> public enum Orientation { None, Left, Right, } public Orientation orientaion = Orientation.Left; //定义当前对象的朝向为:向左拖拽(--MenuBtn_index) private UIDraggablePanel draggablePanel; private UIGrid grid; private UIScrollBar scrollbar; private Vector4 vector; void Awake() { draggablePanel = GameObject.Find("MenuPanel").GetComponent<UIDraggablePanel>(); grid = draggablePanel.transform.FindChild("UIGrid").GetComponent<UIGrid>(); scrollbar = GameObject.Find("SubPanel").transform.FindChild("MenuScrollBar").GetComponent<UIScrollBar>(); } void LateUpdate() { vector = draggablePanel.GetComponent<UIPanel>().clipRange; //获取裁剪区域 draggablePanel.GetComponent<UIPanel>().clipRange = new Vector4(vector.x, 0, vector.z, vector.w); scrollbar.alpha = 0f; //设置滑动条不可见 } void OnClick() { if (orientaion == Orientation.Left && scrollbar.scrollValue < 1) { //如果方向是向左的,scrollbar的值改变控制滑动方向 scrollbar.scrollValue += 0.25f; } if (orientaion == Orientation.Right && scrollbar.scrollValue > 0) { scrollbar.scrollValue -= 0.25f; } //更新滑动面板 draggablePanel.LateUpdate(); //重置中心位置的对象 grid.GetComponent<UICenterOnChild>().Recenter(); }}其中ScrollValue的值变化计算:
如果实现切换的按钮有5个,那么除去中间一个按钮,结果就为1/4;
如果实现切换的按钮有4个,那么除去中间一个按钮,结果就为1/3;
0 0
- unity-使用NGUI 两个Button实现左右切换功能
- 【unity】【游戏开发】使用NGUI制作可以左右切换的菜单
- web实现左右切换功能
- Unity 实现NGUI button 按button的判断
- 【Unity】代码实现NGUI按钮监听功能
- 【Unity】用NGUI实现摇杆功能
- Unity基于NGUI实现拖拽功能
- 【Unity&Shader】NGUI实现图集变灰功能
- ViewPager实现左右两个屏幕的切换
- android 实现左右两个屏幕的切换
- ViewPager-实现左右两个屏幕的切换
- ViewPager实现左右两个屏幕的切换
- 图片左右循环切换功能的实现
- 多图片左右切换功能前端实现
- 使用Fragment实现底部菜单栏功能,并实现左右滑动切换
- unity UGUI实现类似NGUI切换Sprite的方式
- ViewPager的使用(实现微信左右切换页卡功能)
- unity技术之NGUI的功能实现(1)
- collection
- 入职体验--linux学习体会
- Linux 使用CDT编辑器编辑C/C++语言时出现的问题和解决方案
- 如何修改音乐的匹配字数
- 【Lua】自定义OOP类的声明和定义
- unity-使用NGUI 两个Button实现左右切换功能
- 生活中十四项万能心理定律
- 判断某个service服务是否正在运行
- jdk,jre,ide概念辨析
- 交叉编译gdb
- js toFixed()
- acm入门搜索-石油数目
- . / .. ~的区别
- 用Hough投票做物体检测(续)