NGUI制作摇杆
Posted 大.罗
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NGUI制作摇杆相关的知识,希望对你有一定的参考价值。
有些时候我们只是想做一个简单的摇杆,所以大可不必使用插件,几句代码就能搞定
首先你已经导入NGUI
在UI界面倒入背景精灵 然后添加触发器
然后在精灵 上添加子精灵
然后再精灵上挂载脚本
添加如下方法
OnPress(bool isPress)//NGUI回调
{
this.isPress=isPress;
}
- if(isPress)
- {
- Vector2 touch=UICamera.lastTouchPosition;//得到当前触摸位置 基于实际像素的
- if (UICamera.lastTouchPosition.x > Screen.width / 2) return;//如果你右边还有NGUI的按钮可用此方法不检测右侧的点击
- touch-=new Vector2(141,141);//得到实际触摸位置后需要减去偏移量 因为精灵2是精灵1的子对象 触摸位置为141时 精灵2刚好在精灵1中间
- float distance=Vector2.Distance(Vector2.zero,touch);//计算精灵2实际的位置
- if(distance>73)//因为按下的时候有可能手指滑动到任意区域,所以要限制精灵2的位置距离不超过精灵1的半径
- {
- touch=touch.normalized*73;//得到原点到触摸点的方向然后*73得到在在边缘的位置
- button.localPosition=touch;//修改精灵2的局部坐标位置
- }
- else //没超过直接设置位置
- {
- button.localPosition=touch;
- }
- int h=touch.x/73;//获取位置值
- int v=touch.y/73;
- }
以上是关于NGUI制作摇杆的主要内容,如果未能解决你的问题,请参考以下文章