查看: 449|回复: 0
打印 上一主题 下一主题

[其他] 根据物体离目标点的距离进行排序

[复制链接]

9903

主题

126

听众

7万

积分

首席设计师

Rank: 8Rank: 8

纳金币
53456
精华
316

最佳新人 热心会员 灌水之王 活跃会员 突出贡献 荣誉管理 论坛元老

跳转到指定楼层
楼主
发表于 2015-9-27 01:29:57 |只看该作者 |倒序浏览
实现这种功能有很多种,下面是我个人认为比较好的实现方法


  1. using UnityEngine;
  2. using System.Collections;
  3. using System.Collections.Generic;


  4. public class Sort : MonoBehaviour {

  5.     public List<Transform> list;
  6.         // Use this for initialization
  7.         void Start () {
  8.         list = new List<Transform>();

  9.         AddAllCubes();
  10.        
  11.         }
  12.        
  13.         // Update is called once per frame
  14.         void Update () {
  15.        
  16.         }
  17.     void OnGUI()
  18.     {
  19.         DisplaySortOnGUI();
  20.         if (GUILayout.Button("SortObjsByDistance"))
  21.         {
  22.             SortObjsByDistance();
  23.         }
  24.     }

  25.     void AddAllCubes()
  26.     {
  27.         GameObject[] go = GameObject.FindGameObjectsWithTag("cube");
  28.         foreach(GameObject cube in go)
  29.         {
  30.             list.Add(cube.transform);
  31.         }
  32.     }
  33.     void SortObjsByDistance()
  34.     {
  35.         list.Sort(delegate(Transform t1,Transform t2)
  36.         {
  37.             Debug.Log(Vector3.Distance(t1.position, transform.position).CompareTo(Vector3.Distance(t2.position, transform.position)));
  38.             return Vector3.Distance(t1.position, transform.position).CompareTo(Vector3.Distance(t2.position, transform.position));
  39.         });
  40.     }

  41.     void DisplaySortOnGUI()
  42.     {
  43.         foreach (Transform t in list)
  44.         {
  45.             GUILayout.Label(t.name);
  46.         }
  47.     }

  48. }
复制代码
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

关闭

站长推荐上一条 /1 下一条

手机版|纳金网 ( 闽ICP备08008928号

GMT+8, 2024-5-6 06:54 , Processed in 0.079845 second(s), 29 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部