您的位置:首页 > 其它

根据与目标距离排序

2015-08-19 09:28 351 查看
实现这种功能有很多种,下面是我个人认为比较好的实现方法

[code]phpcode:

/*

* @ 创建时间:2015.8.12.8:59

* @ 作者           杉树

* @ 修改人:

* @ 修改时间:

* @ 描述:根据物体离,目标点的距离排序

*

*/

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

public class Sort : MonoBehaviour {

public List<Transform> list;
// Use this for initialization
void Start () {
list = new List<Transform>();

AddAllCubes();

}

// Update is called once per frame
void Update () {

}
void OnGUI()
{
DisplaySortOnGUI();
if (GUILayout.Button("SortObjsByDistance"))
{
SortObjsByDistance();
}
}

void AddAllCubes()
{
GameObject[] go = GameObject.FindGameObjectsWithTag("cube");
foreach(GameObject cube in go)
{
list.Add(cube.transform);
}
}
void SortObjsByDistance()
{
list.Sort(delegate(Transform t1,Transform t2)
{
Debug.Log(Vector3.Distance(t1.position, transform.position).CompareTo(Vector3.Distance(t2.position, transform.position)));
return Vector3.Distance(t1.position, transform.position).CompareTo(Vector3.Distance(t2.position, transform.position));
});
}

void DisplaySortOnGUI()
{
foreach (Transform t in list)
{
GUILayout.Label(t.name);
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: