Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/325.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# 如何遇到错误?“;InvalidOperationException:由于对象的当前状态,操作无效;在使用System.Linq时 使用系统集合; 使用System.Collections.Generic; 使用UnityEngine; 使用System.Linq; 公共类qtpye:单一行为{ 公共线路; 公共边缘准直器2D ec; 公共名单点; 二等兵布尔乔克=真; //用于初始化 无效开始(){ } //每帧调用一次更新 无效更新(){ if(jok==false&Vector3.Distance(points.Last(),transform.position)>0.7f) { 点。添加(变换。位置); lr.positionCount=点数.Count; lr.SetPosition(points.Count-1,新矢量3(Camera.main.ScreenToWorldPoint(Input.mousePosition).x,Camera.main.ScreenToWorldPoint(Input.mousePosition).y,transform.position.z)); } } void OnMouseDown() {jok=false; Debug.Log(“f”); } void OnMouseUp() {jok=true; } }_C#_List_Unity3d - Fatal编程技术网

C# 如何遇到错误?“;InvalidOperationException:由于对象的当前状态,操作无效;在使用System.Linq时 使用系统集合; 使用System.Collections.Generic; 使用UnityEngine; 使用System.Linq; 公共类qtpye:单一行为{ 公共线路; 公共边缘准直器2D ec; 公共名单点; 二等兵布尔乔克=真; //用于初始化 无效开始(){ } //每帧调用一次更新 无效更新(){ if(jok==false&Vector3.Distance(points.Last(),transform.position)>0.7f) { 点。添加(变换。位置); lr.positionCount=点数.Count; lr.SetPosition(points.Count-1,新矢量3(Camera.main.ScreenToWorldPoint(Input.mousePosition).x,Camera.main.ScreenToWorldPoint(Input.mousePosition).y,transform.position.z)); } } void OnMouseDown() {jok=false; Debug.Log(“f”); } void OnMouseUp() {jok=true; } }

C# 如何遇到错误?“;InvalidOperationException:由于对象的当前状态,操作无效;在使用System.Linq时 使用系统集合; 使用System.Collections.Generic; 使用UnityEngine; 使用System.Linq; 公共类qtpye:单一行为{ 公共线路; 公共边缘准直器2D ec; 公共名单点; 二等兵布尔乔克=真; //用于初始化 无效开始(){ } //每帧调用一次更新 无效更新(){ if(jok==false&Vector3.Distance(points.Last(),transform.position)>0.7f) { 点。添加(变换。位置); lr.positionCount=点数.Count; lr.SetPosition(points.Count-1,新矢量3(Camera.main.ScreenToWorldPoint(Input.mousePosition).x,Camera.main.ScreenToWorldPoint(Input.mousePosition).y,transform.position.z)); } } void OnMouseDown() {jok=false; Debug.Log(“f”); } void OnMouseUp() {jok=true; } },c#,list,unity3d,C#,List,Unity3d,我试图使用线渲染器,但是出现错误 if(jok==false&Vector3.距离(points.Last(),transform.position)>0.7f) 那是 InvalidOperationException:由于当前错误,操作无效 对象系统的状态。Linq.Enumerable.Last[Vector3] (IEnumerable`1来源)qtpye.Update()(位于Assets/qtpye.cs:18) 如果列表为空,将返回InvalidOperationException

我试图使用线渲染器,但是出现错误
if(jok==false&Vector3.距离(points.Last(),transform.position)>0.7f)
那是

InvalidOperationException:由于当前错误,操作无效 对象系统的状态。Linq.Enumerable.Last[Vector3] (IEnumerable`1来源)qtpye.Update()(位于Assets/qtpye.cs:18)

如果列表为空,将返回InvalidOperationException。在调用此函数之前,必须确保列表至少包含一个点。例如,您可以在列表为空时添加第一个点,并对其他点的距离进行验证

另外,你的if语句是错误的。您没有使用AND运算符,它是&,因为您忘记了一个&

最后,你可以这样做:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Linq;

public class qtpye : MonoBehaviour {
    public LineRenderer lr;
    public EdgeCollider2D ec;
    public List<Vector3> points;
    private bool jok=true;
    // Use this for initialization
    void Start () {

    }

    // Update is called once per frame
    void Update () {
        if (jok ==false&Vector3.Distance(points.Last(),transform.position)>0.7f)
            {
            points.Add (transform.position);
            lr.positionCount = points.Count;
            lr.SetPosition (points.Count - 1, new Vector3 (Camera.main.ScreenToWorldPoint (Input.mousePosition).x, Camera.main.ScreenToWorldPoint (Input.mousePosition).y, transform.position.z));
        }



    }
    void OnMouseDown()
    {jok = false;
        Debug.Log ("f");
    }
    void OnMouseUp()
    {jok = true;

    }

}

您的
if
语句语法错误,因为它声明
if(X==false&Y>Z)
使用double
&&
修复错误
if (jok ==false && (points.Count == 0 || Vector3.Distance(points.Last(),transform.position)>0.7f  Vector3.Distance(points.Last(),transform.position)>0.7f))