NGUI自制简易虚拟摇杆

想要用到两张图,一张虚拟摇杆背景,一张虚拟摇杆按钮图.


建立NGUI的Sprite,结构如下


效果图如下.


接着在JoyStick上建立新脚本,命名为JoyStick.cs

代码如下

using UnityEngine;
using System.Collections;

public class JoyStick : MonoBehaviour {
	public static float h=0;
	public static float v = 0;
	private bool ispress=false;
	private GameObject btn;

	void OnPress(bool isPress){
		ispress = isPress;
		if (!ispress) {
			btn.transform.localPosition = Vector3.zero;
			v = h = 0;
		}
	}


	// Use this for initialization
	void Start () {
		btn=transform.Find ("Joy").gameObject;
	}
	
	// Update is called once per frame
	void Update () {
		
		if (ispress) {
			Vector2 pos = UICamera.lastEventPosition;
			pos -= new Vector2 (91, 91);
			float distance= Vector2.Distance (Vector2.zero, pos);
			if (distance > 73) {
				pos = pos.normalized * 73;
			}
			btn.transform.localPosition = pos;
			h = pos.x / 73;
			v = pos.y / 73;
		}
	}
}

其中两个静态变量 h和V,就是摇杆的偏移量.在想要使用的地方.

JoyStick.h JoyStick.v  就可以直接访问摇杆的虚拟值了.



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值