Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在Unity中存储InputField中的2个游戏对象_C#_Unity3d_User Interface_Input Field_Pathfinder - Fatal编程技术网

C# 如何在Unity中存储InputField中的2个游戏对象

C# 如何在Unity中存储InputField中的2个游戏对象,c#,unity3d,user-interface,input-field,pathfinder,C#,Unity3d,User Interface,Input Field,Pathfinder,我正在尝试制作一个移动应用程序,在画布图像上显示用户从一个航路点到另一个航路点的路径。我在这里使用Dijkstra算法 用户应该输入开始节点,然后输入目标节点。程序应该能够读取这两个输入并将它们存储到图形中;然后从存储在路径数组中的节点绘制线。我使用这里的代码读取输入 看起来它读取了它们并找到了我需要的节点,但我一直在存储第二个输入并显示路径 以下是我尝试的代码: { public InputField inputField; private LineRenderer line

我正在尝试制作一个移动应用程序,在画布图像上显示用户从一个航路点到另一个航路点的路径。我在这里使用Dijkstra算法

用户应该输入开始节点,然后输入目标节点。程序应该能够读取这两个输入并将它们存储到图形中;然后从存储在路径数组中的节点绘制线。我使用这里的代码读取输入

看起来它读取了它们并找到了我需要的节点,但我一直在存储第二个输入并显示路径

以下是我尝试的代码:

{
    public InputField inputField;
    private LineRenderer lineRenderer;
    protected Node m_From;
    protected Node m_To;
    protected FindPath m_Path = new FindPath();
    List<GameObject> targets = new List<GameObject>();
   [SerializeField]
    protected Graph m_Graph;

/// <summary>
    /// Indicates an object has been found
    /// </summary>
    /// <param name="target">The target.</param>
    public void TurnOn(GameObject target)
    {
        targets.Add(target);
        GameObject lineObject = new GameObject();
        lineRenderer = lineObject.AddComponent<LineRenderer>();
        lineRenderer.startWidth = 0.3f;
        lineRenderer.endWidth = 0.3f;

        // Customize the input field according to the gameObject
        // Do whathever you want
        if (m_From == null)
        {
            m_From = targets[0];
        }
        else
        {
            m_To = targets[1];
        }

        m_Path = m_Graph.GetShortestPath(m_From, m_To);

        Vector3[] checkPointArray = new Vector3[m_Path.nodes.Count];

        for (int i = 0; i < m_Path.nodes.Count; i++)
        {
            Vector3 checkpointpos = m_Path.nodes[i].transform.position;
            checkPointArray[i] = new Vector3(checkpointpos.x, checkpointpos.y);
            lineRenderer.SetPosition(i, checkPointArray[i]);
        }
        

            targets.Clear();}
     
        
        inputField.textComponent.color = Color.black;
    }


{
公共输入字段输入字段;
专用线条渲染器线条渲染器;
受保护的节点m_来自;
受保护节点m_To;
受保护的FindPath m_Path=new FindPath();
列表目标=新列表();
[序列化字段]
保护图m_图;
/// 
///指示已找到对象
/// 
///目标。
公共无效开启(游戏对象目标)
{
目标。添加(目标);
GameObject lineObject=新建GameObject();
lineRenderer=lineObject.AddComponent();
lineRenderer.startWidth=0.3f;
lineRenderer.endWidth=0.3f;
//根据游戏对象自定义输入字段
//你想干什么就干什么
if(m_From==null)
{
m_From=目标[0];
}
其他的
{
m_To=目标[1];
}
m_Path=m_Graph.GetShortestPath(m_From,m_To);
Vector3[]检查点数组=新Vector3[m_Path.nodes.Count];
对于(int i=0;i
提前感谢您的帮助