想要用到两张图,一张虚拟摇杆背景,一张虚拟摇杆按钮图.
建立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 就可以直接访问摇杆的虚拟值了.
2万+

被折叠的 条评论
为什么被折叠?



