【问题标题】:How to store polygon2Dcollider points in an array or List如何将 polygon2Dcollider 点存储在数组或列表中
【发布时间】:2018-12-21 12:39:26
【问题描述】:

PolygonCollider2D 可以由多条路径(不仅仅是一条)组成,具体取决于它所应用的精灵的形状。

我正在努力将所有这些坐标 Vector2[] 存储到一个列表中。

到目前为止,我一直在尝试访问每条路径:

             for (int p=0; p<polygon1.pathCount; p++)
         {
            polygonpoints = new Vector2[polygon1.GetPath(p).Length]; 
            polygonpoints = polygon1.GetPath(p);
            polygons.Add(polygonpoints);           
         }

polygon1 是我的 PolygonCollider2D,polygonPoints 是 Vector2[]。多边形是一个声明的列表[polygon1.pathcount]

为什么我不能在我的 List 中添加这些 Vector2[] ?我做错了什么?

【问题讨论】:

  • 我想在发布答案之前与您核实一下。我相信您的列表只需要是 的类型。例如List&lt;Vector2[]&gt; polygons = new List&lt;Vector2[]&gt;(); 然后polygons.Add(polygon1.points);
  • 你是对的,这是我这边的一个错误..!谢谢!
  • 没问题,我会贴出解决方案供验收。干杯。

标签: c# list unity3d polygon collider


【解决方案1】:

我相信你的列表只需要是类型。

//Initialize the list with each element being a Vector2[] (Vec2 array)
List<Vector2[]> polygons = new List<Vector2[]>();

polygons.Add(polygon1.points);

【讨论】:

    猜你喜欢
    • 2010-10-24
    • 1970-01-01
    • 2016-06-19
    • 1970-01-01
    • 2021-08-27
    • 2012-07-20
    • 2021-01-28
    • 2015-04-17
    • 1970-01-01
    相关资源
    最近更新 更多