2 回答

TA貢獻(xiàn)1788條經(jīng)驗(yàn) 獲得超4個(gè)贊
您的代碼非常接近,但存在一些簡(jiǎn)單的錯(cuò)誤。你的排序函數(shù)的結(jié)果應(yīng)該是相反的,GameObject 不是一個(gè)組件,是一個(gè)組件容器,你已經(jīng)有了引用。在這兩個(gè)更改之后,您的方法似乎運(yùn)行良好。我還添加了一個(gè)等于條件,以避免交換不需要交換的元素。
private int CompareDistance(GameObject a, GameObject b)
{
float distance_a = a.transform.position.z;
float distance_b = b.transform.position.z;
if (distance_a==distance_b) return 0;
if (distance_a >= distance_b)
return -1; else return 1;
}
還要盡量避免過(guò)于頻繁地創(chuàng)建列表,創(chuàng)建一次,然后才進(jìn)行排序,創(chuàng)建和填充列表可能相對(duì)昂貴(排序也是如此)
- 2 回答
- 0 關(guān)注
- 175 瀏覽
添加回答
舉報(bào)