Unity+FairyGUI)rpg方向控制的方向盘控制/摇杆
2017-08-15 16:34
375 查看
using System; using System.Collections.Generic; using System.Linq; using System.Text; using UnityEngine; using FairyGUI; using Package1; namespace Assets.Scripts { class Wheel : UIBase { private float rad = 200f; //活动半径 private Vector2 center = new Vector2(200, 200);//中心 private Vector2 resultVector2;//结果 private UI_WheelCenter center_ui; override public void init() { center_ui = ((UI_Wheel)this.ui).m_center_ui; center_ui.draggable = true; center_ui.onDragStart.Add(dragStartHandler); center_ui.onDragEnd.Add(dragEndHandler); center_ui.onDragMove.Add(dragMoveHandler); } private void dragEndHandler() { center_ui.x = center.x; center_ui.y = center.y; MoveManager.getInstance().moveAngle = 0; } private void dragStartHandler() { } private void dragMoveHandler(EventContext _event) { Vector2 cur = new Vector2(center_ui.x, center_ui.y); float dis = Vector2.Distance(center, cur); float ang = Mathf.Atan((cur.y - center.y) / (cur.x - center.x)); if (ang < 0) { if (cur.x < center.x) { ang += Mathf.PI; } else { ang += 2 * Mathf.PI; } } else { if (cur.x < center.x) { ang += Mathf.PI; } } //Debug.Log("罗盘角度=" + Mathf.Rad2Deg * ang + ",坐标=" + cur.x +"," +cur.y); MoveManager.getInstance().moveAngle = ang; if (dis > rad*2) { center_ui.x = center.x + rad * Mathf.Cos(ang); center_ui.y = center.y + rad * Mathf.Sin(ang); } else { Vector2 touchVec = new Vector2(_event.inputEvent.x, _event.inputEvent.y); Vector2 newVec = this.ui.GlobalToLocal(touchVec); center_ui.x = newVec.x; center_ui.y = newVec.y; } MoveManager.getInstance().breakLock(); } } }
相关文章推荐
- unity控制player移动时,坐标得调好,否则移动方向相反
- 虚拟摇杆控制物体移动,解决旋转之后物体依然朝遥杆对应方向移动的问题
- Unity中使用摇杆控制
- unity实现3d摇杆 结合leapmotion控制实现VR场景移动
- Unity中使用摇杆控制
- unity3d easytouch计算摇杆旋转角度以及摇杆八方向控制角色
- 通过滑动手势控制摇杆移动并且通过移动的速度控制能量条的增长 Unity
- Unity 中,FPS 第一人称行走,按A键,一直后退。WASD方向控制错误
- unity3d easytouch计算摇杆旋转角度以及摇杆八方向控制角色
- Unity中使用鼠标控制相机的视口方向以及移动
- 在Unity快速修改方向控制键位
- Unity摇杆控制物体移动c#脚本
- cocos2d-X:RPG摇杆控制英雄
- Unity GUI组件控制随记
- Unity使用EasyTouch虚拟摇杆控制角色
- unity3d easytouch计算摇杆旋转角度以及摇杆八方向控制角色
- Unity 方向控制及鼠标滚轮代码控制
- Unity使用easytouch虚拟摇杆控制角色移动
- Unity 制作RPG地图2(自己控制地图上图标)
- FairyGUI Unity评估