Unity 实现手游里面滑轮摇杆控制移动
2018-12-19 14:39
281 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。如有问题,欢迎指正。 https://blog.csdn.net/qq_37352817/article/details/85096677
很多手游里面都有一个滑轮控制人物移动
我前段时间也研究了一下
下面附上源码,因为有注释我就不多说什么了
源码:
public class CoronaScripts : MonoBehaviour { 大圆 private RectTransform bigRect; 小圆 private RectTransform smallRect; 滑轮被激活;默认没有 private bool isActiveTrue = false; 屏幕分辨率比率;这里Canvas是根据宽来缩放的 private float biLv; 用来存储鼠标和大圆的距离;是一个由大圆坐标指向鼠标坐标的方向向量 private Vector3 dis; void Start () { bigRect = this.transform.GetChild (0).GetComponent<RectTransform> (); smallRect = bigRect.transform.GetChild (0).GetComponent<RectTransform> (); 屏幕分辨率的宽除以实际屏幕宽度 biLv = 1280f/ Screen.width; } void Update () { if (Input.GetMouseButtonDown (0)) { 轮盘在屏幕左下角占屏幕1/4的大小范围有效 if (Input.mousePosition.y < Screen.height / 2 && Input.mousePosition.x < Screen.width / 2) { 限制左边和下边的间距,是上面的1/15的长度 if (Input.mousePosition.y > Screen.height / 15 && Input.mousePosition.x > Screen.width / 15) { 滑轮当前状态被激活 isActiveTrue = true; 显示滑轮 bigRect.gameObject.SetActive (true); 生成滑轮大圆的位置在鼠标在实际屏幕的位置 bigRect.anchoredPosition = Input.mousePosition * biLv; } } } 被激活要做的事情;控制小圆的移动 if (isActiveTrue) { 小圆的坐标:等于相对于父物体大圆鼠标的坐标;等于大圆指向鼠标的一个向量;等于鼠标坐标减去大圆坐标; smallRect.anchoredPosition = Input.mousePosition * biLv - bigRect.anchoredPosition3D; 鼠标到大圆的距离;是一个方向指向鼠标的向量 dis = smallRect.anchoredPosition; 如果鼠标到大圆的距离大于100 if (dis.magnitude > 100) { 将这个向量转换成单位向量乘以一百就是小圆的位置了 dis = smallRect.anchoredPosition.normalized * 100; smallRect.anchoredPosition = dis; } } if (Input.GetMouseButtonUp (0)) { isActiveTrue = false; 滑轮隐藏 bigRect.gameObject.SetActive (false); 小圆位置归位 smallRect.anchoredPosition = Vector2.zero; } } }
相关文章推荐
- unity实现3d摇杆 结合leapmotion控制实现VR场景移动
- Unity2D - 4. 实现android虚拟摇杆控制人物移动
- 【小松教你手游开发】【unity实用技能】unity3d 陀螺仪控制camera移动旋转
- 在unity中实现鼠标拖动物体移动,滑轮实现缩放
- unity 手游 3D人物的移动控制
- Unity实现点击地面控制人物移动
- Unity 移动端实现pad 端acceleration 控制移动、旋转
- 通过滑动手势控制摇杆移动并且通过移动的速度控制能量条的增长 Unity
- Unity简单利用屏幕坐标转换实现鼠标控制物体移动
- unity 实现键盘控制物体移动和转向
- 我的Unity(10)一点一滴 利用UI制作摇杆控制物体移动
- 【开发笔记】unity 制作简易摇杆并控制物体移动
- Unity5.5+easytouch5双摇杆控制角色移动及挂上Animator的方法
- Unity摇杆控制物体移动c#脚本
- liggdx 实现摇杆控制角色移动
- unity之手机端摇杆控制人物移动
- Unity2D - 2. 实现基本的人物移动控制和碰撞检测
- Unity使用easytouch虚拟摇杆控制角色移动
- Unity ——UGUI 通过摇杆控制角色移动
- unity虚拟摇杆控制 Virtual Joystick