单击鼠标从字符串中选择下一个值

时间:2019-07-18 17:09:14

标签: c# string list csv unity3d

这可能是一个新手问题,但我确实需要一些建议。 对于我正在处理的项目,我需要将一些参数导出到csv文件中。单击鼠标时,我需要获取:显示x坐标,显示y坐标,字符串中的第一个数字,字符串中的第二个数字。到目前为止,我还不错。

问题是,如何获得{x,y,字符串中的第3个数字,字符串中的第4个数字}; {x,y,字符串的第5个数字,字符串的第6个数字},依此类推,每单击一次鼠标一次?我试图用[index-1] [index+1]做某事,但到目前为止没有成功。

很乐意得到任何建议。预先谢谢你!

public class SendToCsv : MonoBehaviour
{
    private List<string[]> rowData = new List<string[]>();
    public List<string> UV = new List<string>();

    void Start()
    {
        UV.Add("2");
        UV.Add("4");
        UV.Add("6"); //Here I add more numbers of course
    }

    void Update()
    {
        if (Input.GetButtonDown("Fire1"))
        {
            string[] rowDataTemp = new string[4];
            rowDataTemp[0] = Input.mousePosition.x.ToString("F4"); // X
            rowDataTemp[1] = Input.mousePosition.y.ToString("F4"); // Y
            rowDataTemp[2] = UV[1];
            rowDataTemp[3] = UV[2];

            rowData.Add(rowDataTemp);

            string[][] output = new string[rowData.Count][];

            for (int i = 0; i < output.Length; i++)
            {
                output[i] = rowData[i];
            }

            int length = output.GetLength(0);
            string delimiter = ",";

            StringBuilder sb = new StringBuilder();

            for (int index = 0; index < length; index++)
                sb.AppendLine(string.Join(delimiter, output[index]));

            string filePath = getPath();

            StreamWriter outStream = System.IO.File.CreateText(filePath);
            outStream.WriteLine(sb);
            outStream.Close();
        }
    }
}

0 个答案:

没有答案