冒泡排序做排行榜,用的是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]
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]
相关文章推荐
- (NGUI)label设置局部字体大小
- NGUI 动态改变Label字体
- 【Unity3D】【NGUI】移动设备上使用动态字体Label显示不正确
- Unity插件之NGUI学习(5)—— 创建Label图文混排及文字点击
- NGUI 3.5教程(二)Label 标签 (Hello world)、多行文本
- Unity插件之NGUI学习(5)—— 创建Label图文混排及文字点击
- NGUI 3.5教程(二)Label 标签 (Hello world)、多行文本
- NGUI使用1——label
- 【从零开始学NGUI 】 (二)Label
- NGUI Label组件介绍
- 【Unity&NGUI】Label的颜色动态改变以及渐变颜色
- Unity 3D 中NGUI插件设置中文label
- NGUI 3.5.8教程(二)Label 标签 (Hello world)、多行文本
- 【Unity3D】【NGUI】渐变label
- NGUI Label Color Code
- NGUI 3.5教程(二)Label 标签 (Hello world)、多行文本
- 【UGUI/NGUI】一键换Text/Label字体
- 关于NGUI中Label对象的获取
- NGUI自动设置 Panel 深度、自动设置UIWidget(Sprite/Label等)深度(按照Hierarchy 顺序从上到下 Depth 递增)