您的位置:首页 > 产品设计 > UI/UE

冒泡排序做排行榜,用的是NGUI里的Label

2017-08-28 21:30 141 查看
using
UnityEngine;
using
System.Collections;
using
System.Collections.Generic;
public
class
paihangbang
:
MonoBehaviour
{
   
//链表
   
public
List<int>
Rank =
new
List<int>();
   
//UI预设物
   
public
GameObject
RankUI;
   
//父物体
   
public
Transform
ParentObj;
[align=left]       // Use this for initialization[/align]
       void
Start () {
       
for
(int
i = 0; i < 10; i++)

        {
             //赋值,左避右开,920到1000

[align=left]            Rank.Add(Random.Range(920,1001));[/align]
[align=left]        }[/align]
       
//冒泡排序
       
for
(int
i = 0; i < Rank.Count-1; i++)
[align=left]        {[/align]
           
for
(int
j = 0; j < Rank.Count-1-i; j++)
[align=left]            {[/align]
               
if
(Rank[j]<Rank[j+i])
[align=left]                {[/align]
                   
//排列存值
                   
int
temp = Rank[j];
[align=left]                    Rank[j] = Rank[j+1];[/align]
[align=left]                    Rank[j + 1] = temp;[/align]
[align=left]                }[/align]
[align=left]            }[/align]
[align=left]        }[/align]
       
//通过遍历显示出来
       
for
(int
i = 0; i < Rank.Count; i++)
[align=left]        {[/align]
           
//实例化
           
GameObject
go = Instantiate(RankUI);
           
//设置父物体
[align=left]            go.transform.SetParent(ParentObj);[/align]
           
//自身缩放
            go.transform.localScale =
Vector3.one;

           
      //可以直接显示
     
//go.transform.GetComponent<UILabel>().text
=Rank[i].ToString()
;

             //可以取前五名

           
if
(i<5)
[align=left]            {[/align]
                go.transform.GetComponent<UILabel>().text
=
"第"
+ (i + 1) +
"名:"
+ Rank[i].ToString() +
"战斗力!";
[align=left]            }[/align]
           
else
[align=left]            {[/align]
                go.transform.GetComponent<UILabel>().text
=
""
+ Rank[i].ToString() +
"战斗力!";
[align=left]            }[/align]
[align=left]        }[/align]
[align=left]       }[/align]
[align=left]       [/align]
[align=left]      [/align]
[align=left]}[/align]
[align=left]注意最重要的一点如果排列不执行,就需要重新调用[/align]
[align=left]    void UpDate(){[/align]
[align=left]      if(Input.GetKeyDown(KeyCode.A)){[/align]
[align=left]      ParentObj.GetComPonent<UIGrid>().Reposition;[/align]
[align=left]    Debug.Log("AAAAAAAA");[/align]
[align=left]           [/align]
[align=left]   }[/align]
[align=left]这里用了不太正规的命名,自己整理的所以见谅[/align]
[align=left]
[/align]
[align=left]
[/align]
[align=left]   }[/align]
[align=left]
[/align]
[align=left]做记录用,不喜勿喷!!!谢谢
[/align]
[align=left]
[/align]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: