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;

		}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值