首页 > 代码库 > NGUI制作摇杆
NGUI制作摇杆
有些时候我们只是想做一个简单的摇杆,所以大可不必使用插件,几句代码就能搞定
首先你已经导入NGUI
在UI界面倒入背景精灵 然后添加触发器
然后在精灵 上添加子精灵
然后再精灵上挂载脚本
添加如下方法
OnPress(bool isPress)//NGUI回调
{
this.isPress=isPress;
}
[csharp] view plain copy print?
- 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制作摇杆
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。