一个圆环上有好多控件,实现左右滑动以及近大远小的效果
来源:互联网 发布:淘宝怎么更改收货地址 编辑:程序博客网 时间:2024/04/27 23:50
一个圆环上有好多个可点击控件-按钮,如何实现左右滑动以及近大远小的效果
效果如下图:
using UnityEngine;using System.Collections;public class zhuandong : MonoBehaviour { public GameObject circle;//以下几个按钮都放在圆环上public GameObject imagebtn;public GameObject wordbtn;public GameObject videobtn;public GameObject pptbtn;public GameObject excelbtn;public GameObject pdfbtn; private Vector2 first = Vector2.zero;//鼠标按下的位置 private Vector2 second = Vector2.zero;//鼠标拖动的位置 public GameObject[] skillArray = new GameObject[6];//获取6个子控件 void Update() { foreach (GameObject i in skillArray)//近大远小,根据这6个按钮所在位置的y轴进行缩放
{ //最上边空间缩小一倍 if (i.transform.position.y > 0.24) { i.transform.localScale = new Vector3(0.6f, 0.6f, 0.6f); } if (i.transform.position.y <= 0.24 && i.transform.position.y > 0) { i.transform.localScale = new Vector3(0.8f, 0.8f, 0.8f); } if (i.transform.position.y >= -0.24 && i.transform.position.y <= 0) { i.transform.localScale = new Vector3(1.0f, 1.0f, 1.0f); } if (i.transform.position.y < -0.24 ) { i.transform.localScale = new Vector3(1.2f, 1.2f, 1.2f); } // print("y:"+i.transform.position.y); } } void OnGUI() { if (Event.current.type == EventType.MouseDown)//鼠标按下事件 { first = Event.current.mousePosition; } if (Event.current.type == EventType.MouseDrag)//鼠标拖动事件 { second = Event.current.mousePosition; if (second.x < first.x) { print("left");circle.transform.Rotate(Vector3.forward * Time.deltaTime * -150);imagebtn.transform.Rotate(Vector3.forward * Time.deltaTime * 150);wordbtn.transform.Rotate(Vector3.forward * Time.deltaTime * 150);videobtn.transform.Rotate(Vector3.forward * Time.deltaTime * 150);pptbtn.transform.Rotate(Vector3.forward * Time.deltaTime * 150);excelbtn.transform.Rotate(Vector3.forward * Time.deltaTime * 150);pdfbtn.transform.Rotate(Vector3.forward * Time.deltaTime * 150); } if (second.x > first.x) { print("right"); circle.transform.Rotate(Vector3.forward * Time.deltaTime * 150);imagebtn.transform.Rotate(Vector3.forward * Time.deltaTime * -150);wordbtn.transform.Rotate(Vector3.forward * Time.deltaTime * -150);videobtn.transform.Rotate(Vector3.forward * Time.deltaTime * -150);pptbtn.transform.Rotate(Vector3.forward * Time.deltaTime * -150);excelbtn.transform.Rotate(Vector3.forward * Time.deltaTime * -150);pdfbtn.transform.Rotate(Vector3.forward * Time.deltaTime * -150); } } }}
0 0
- 一个圆环上有好多控件,实现左右滑动以及近大远小的效果
- 一个可以左右自由滑动且有较好动画效果的自定义 Gallery 控件
- Android左右滑动控件实现开关的切换效果
- 实现导航栏的左右滑动效果
- Android实现左右滑动的指引效果
- Android实现左右滑动切换的效果
- recyclerView实现左右滑动的效果
- css 实现 section(块) 的左右滑动,以及块内文字居中的效果
- android-使用ViewGroup实现左右滑动切换界面以及界面裂开的效果
- Android-使用ViewGroup实现左右滑动切换界面以及界面裂开的效果
- 导航菜单横向左右滑动并和下方的控件实现联动(有效果图)
- android 左右滑动效果实现
- Android实现左右滑动效果
- Android实现左右滑动效果
- android 实现左右滑动效果
- Android实现左右滑动效果
- Android实现左右滑动效果
- Android实现左右滑动效果
- 网易视频云发布会大猜想:9.20将以何种姿态亮相舞台
- UIGestureRecognizer学习笔记
- JS中preventDefault_stopPropagation使用
- 关于window下git add命令下会提示下面的信息
- ORA-28001: the password has expired解决方法
- 一个圆环上有好多控件,实现左右滑动以及近大远小的效果
- 4.Android基础:常见控件----->ProgressBar
- 读paper总结
- Android 性能优化实例
- 【Android】Scrollview返回顶部,快速返回顶部的功能实现,详解代码。
- 文件重定向(hook IRP_MJ_CREATE)
- 聊聊 #pragma 和 // MARK:
- Swift基础之:新的访问控制fileprivate和open
- 设计模式-里氏代换原则