自制虚拟摇杆
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Joystick : MonoBehaviour {
public static Joystick _Instance
{
get;
set;
}
void Awake()
{
_Instance = this;
}
Vector3 StartPosition;
float r;
public delegate void MouseDragdel(Vector3 age);
public MouseDragdel mouseDragdel;
public delegate void MouseDragupdel();
public MouseDragupdel mouseDragupdel;
public void MouseDrag()
{
print("111111");
if (Vector3.Distance(Input.mousePosition, StartPosition) <100) {
transform.position = Input.mousePosition;
}
else
{
Vector3 v3 = Input.mousePosition- StartPosition;
transform.position = StartPosition + v3.normalized*100;
}
}
public void MouseUp()
{
transform.position = StartPosition;
if (mouseDragupdel != null)
{
mouseDragupdel();
}
print("aaaaaaaaa");
}
void Start () {
StartPosition = transform.position;
}
void Update () {
if (mouseDragdel != null)
{
if (Vector3.Distance(transform.position, StartPosition) > 0.1f)
{
Vector3 newPos = (transform.position - StartPosition).normalized;
mouseDragdel(newPos);
}
}
// transform.position = Input.mousePosition;
//print(111);
}
}
using System.Collections.Generic;
using UnityEngine;
public class Joystick : MonoBehaviour {
public static Joystick _Instance
{
get;
set;
}
void Awake()
{
_Instance = this;
}
Vector3 StartPosition;
float r;
public delegate void MouseDragdel(Vector3 age);
public MouseDragdel mouseDragdel;
public delegate void MouseDragupdel();
public MouseDragupdel mouseDragupdel;
public void MouseDrag()
{
print("111111");
if (Vector3.Distance(Input.mousePosition, StartPosition) <100) {
transform.position = Input.mousePosition;
}
else
{
Vector3 v3 = Input.mousePosition- StartPosition;
transform.position = StartPosition + v3.normalized*100;
}
}
public void MouseUp()
{
transform.position = StartPosition;
if (mouseDragupdel != null)
{
mouseDragupdel();
}
print("aaaaaaaaa");
}
void Start () {
StartPosition = transform.position;
}
void Update () {
if (mouseDragdel != null)
{
if (Vector3.Distance(transform.position, StartPosition) > 0.1f)
{
Vector3 newPos = (transform.position - StartPosition).normalized;
mouseDragdel(newPos);
}
}
// transform.position = Input.mousePosition;
//print(111);
}
}