using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
///
/// 机器人保存坐标
///
[AddComponentMenu("SaveCoordinateRobot/机器人保存坐标")]
public class SaveCoordinateRobot : MonoBehaviour
{
public static SaveCoordinateRobot Inst;
public Root myroot = new Root();
public RectTransform bg_img;
public RectTransform start_img;
public RectTransform end_img;
///
/// X输入范围最小
///
[SerializeField] float inputMin_x => 0;
///
/// X输入范围最大
///
[SerializeField] float inputMax_x => 320;
///
/// X输出范围最小
///
[SerializeField] float outputMin_x;
///
/// X输出范围最大
///
[SerializeField] float outputMax_x;
///
/// Y输入范围最小
///
[SerializeField] float inputMin_y => 0;
///
/// Y输入范围最大
///
[SerializeField] float inputMax_y => 800;
///
/// Y输出范围最小
///
[SerializeField] float outputMin_y;
///
/// Y输出范围最大
///
[SerializeField] float outputMax_y;
private void Awake()
{
Inst = this;
}
// Start is called before the first frame update
void Start()
{
/*Debug.Log("X初:" +*/
outputMin_x = (bg_img.anchoredPosition3D.x + start_img.anchoredPosition3D.x);
/*Debug.Log("Y初:" + */
outputMin_y = (/*Screen.height*/ +(bg_img.anchoredPosition3D.y + start_img.anchoredPosition3D.y));
/*Debug.Log("X止:" + */
outputMax_x = (bg_img.anchoredPosition3D.x + end_img.anchoredPosition3D.x);
/*Debug.Log("Y止:" + */
outputMax_y = (/*Screen.height*/ +(bg_img.anchoredPosition3D.y + end_img.anchoredPosition3D.y));
}
// Update is called once per frame
void Update()
{
}
///
///
///
///
/// 输入范围最小
/// 输入范围最大
/// 输出范围最小
/// 输出范围最大
///
float Map(float value, float inputMin, float inputMax, float outputMin, float outputMax)
{
return (value - inputMin) / (inputMax - inputMin) * (outputMax - outputMin) + outputMin;
}
public Vector3 MapCoordinates(Vector2 coordinates)
{
float x = coordinates.x;
float y = coordinates.y;
float mappedX = Map(x, inputMin_x, inputMax_x, outputMin_x, outputMax_x);
float mappedY = Map(y, inputMin_y, inputMax_y, outputMin_y, outputMax_y);
//映射后的三维坐标
return new Vector3(mappedX, mappedY, 0);
}
[System.Serializable]
public class Root
{
///
///
///
public string code;
///
/// 操作成功
///
public string message;
///
///
///
public int data;
///
///
///
public string serverTime;
}
}