**
Space shooter排行榜功能
**
本人是一名大三在读的大学生,最近在自学unity官网的Space shooter demo。发现可以新增一个排行榜功能,就尝试着去做。我也知道在以后U3D开发中,排行榜功能用的比较多,就相当于做一个笔记吧,以便以后拿来复习。第一次写博客,然后代码功底也不牢固,希望大牛多多指教。
UI
制作排行榜必须靠UI,排行榜的制作比较简单,就是几个Image.Text构成。排行榜Rankpanel和排行榜Button都是放在canvas下的。
下面就是我做的简单的排行榜啦.
然后就是代码部分啦。
我的思路是游戏结束,排行榜Button显示,点击按钮,Rankpanel显示。我们先来实现这一部分功能(刚接触Unity demo的时候发现游戏好复杂呀,这样也要弄,那样也要考虑,后来就慢慢明白了,问题不是一下就会得到解决的,一步一步来,再大的问题也会得到解决)。
首先按钮会有一个点击响应,点击按钮,调用Done_Gamecontroller脚本里的ClickButton方法。很简单吧。同理,按钮的隐藏与显示原理一样,只是写在了不同的方法里。
现在我们来实现分数显示的功能。
我的思路是,分数最先产生于内存上,在内存上进行排序后,再保存到硬盘上显示出来。
定义一个private List<>() scores;用来在内存上存储分数的列表
在gameover()方法中写
初始化列表后采用for循环以键值对的形式把score加入到list中。这里的Key表示的是第几个分数,value表示的是score的值。
分数加入到List中后就可以进行排序啦。
排序有很多种方法:
第一种:
第二种:
排序好了之后就只要保存到硬盘上再显示出来就Ok啦。
到这里差不多就完成啦。当然还有一个赋初值和定义变量别搞忘啦。
博文写完了,感谢大家!