码迷,mamicode.com
首页 > 其他好文 > 详细

NGUI制作摇杆

时间:2016-08-28 19:39:24      阅读:452      评论:0      收藏:0      [点我收藏+]

标签:

有些时候我们只是想做一个简单的摇杆,所以大可不必使用插件,几句代码就能搞定

首先你已经导入NGUI

 

在UI界面倒入背景精灵 然后添加触发器

然后在精灵 上添加子精灵

技术分享

然后再精灵上挂载脚本

添加如下方法

OnPress(bool isPress)//NGUI回调

{

 this.isPress=isPress;

}

 

  1. if(isPress)  
  1. {  
  2.        
  3.     Vector2 touch=UICamera.lastTouchPosition;//得到当前触摸位置  基于实际像素的  
  4.             
  5.                       if (UICamera.lastTouchPosition.x > Screen.width / 2) return;//如果你右边还有NGUI的按钮可用此方法不检测右侧的点击  
  6. touch-=new Vector2(141,141);//得到实际触摸位置后需要减去偏移量 因为精灵2是精灵1的子对象 触摸位置为141时 精灵2刚好在精灵1中间  
  7.     float distance=Vector2.Distance(Vector2.zero,touch);//计算精灵2实际的位置  
  8.     if(distance>73)//因为按下的时候有可能手指滑动到任意区域,所以要限制精灵2的位置距离不超过精灵1的半径  
  9.     {  
  10.         touch=touch.normalized*73;//得到原点到触摸点的方向然后*73得到在在边缘的位置  
  11.         button.localPosition=touch;//修改精灵2的局部坐标位置  
  12.   
  13.     }  
  14.     else //没超过直接设置位置  
  15.     {  
  16.         button.localPosition=touch;  
  17.     }  
  1.                      
  2.       int h=touch.x/73;//获取位置值  
  3.       int v=touch.y/73;  
  4.   
  5. }  

NGUI制作摇杆

标签:

原文地址:http://www.cnblogs.com/daluo/p/5815696.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!