游戏开发学习笔记(四)虚拟摇杆的制作

思路:

设计虚拟摇杆的UI

摇杆位置跟随手指位置


虚拟摇杆UI的设计

使用NGUI设计 UI,背景命名Joystick,摇杆命名为Point

为Joystick添加脚本

当手指拖动时,先判断方向,然后再移动Point,当手指松开时,Point回到原点Vector2.zero.

注:touchPos为public,人物移动要访问它。

public class JoyStick : MonoBehaviour {  
  
    public static JoyStick _instance;  
    public bool isPress = false;            //是否移动标志  
    public Vector2 touchPos;  
  
    private Transform point;  
  
    void Awake(){  
        _instance = this;  
        point = transform.FindChild ("Point");  
    }  
  
    void OnPress(bool isPress){  
        this.isPress = isPress;  
        if (!isPress) {  
            point.localPosition = Vector2.zero;  
        }  
    }  
  
    void Update(){  
        if (isPress) {  
            touchPos = UICamera.lastEventPosition - new Vector2 (180,180);  	//减去原来Point的坐标
            float distance = Vector2.Distance (Vector2.zero, touchPos);  
            if (distance > 150) {			//超出范围  
                touchPos = touchPos.normalized * 150;  
            }  
            point.localPosition = touchPos;  		//未超出范围则坐标为触点的坐标
  
        }  
    }  
}  

你可能感兴趣的:(《荣耀》)