0
我有4 Vector2在列表中,我想通過比較距離他們排序,以4 Vector2點左上右上左下右下
Vector2 topleft
Vector2 topright
Vector2 bottomleft
Vector2 bottomright
我都試過,但沒有成功。 我想是解決我的問題
我有4 Vector2在列表中,我想通過比較距離他們排序,以4 Vector2點左上右上左下右下
Vector2 topleft
Vector2 topright
Vector2 bottomleft
Vector2 bottomright
我都試過,但沒有成功。 我想是解決我的問題
你可以把向量的數組中,並創建一個比較器的方法,現在你可以在自己的比較器方法的基礎數組進行排序的快捷方式:
public Vector2[] directions=new Vector2[4];// put your vectors here
void Sort()
{
Array.Sort(directions, Vector2Compare);
}
private int Vector2Compare(Vector2 value1, Vector2 value2)
{
// NOTE: THESE DEPENDS ON HOW YOU EVALUATE TOP/LEFT/RIGHT/BOTTOM , X and Y
if (value1.x < value2.x)
{
return -1;
}
else if(value1.x == value2.x)
{
if(value1.y < value2.y)
{
return -1;
}
else if(value1.y == value2.y)
{
return 0;
}
else
{
return 1;
}
}
else
{
return 1;
}
}