前面一篇说道我们会上taptap,对此我研究了一下,如果要上taptap还是应该可以上的,但感觉还是太粗糙了点,至少得润色一下,才能更好的体现出来。
首先,我们是一个遥感游戏,左边是遥感控制,那右边就感觉太空了,还是要加入一些技能。
其实说白了,技能也可以理解为道具,无非就是多了一个冷却时间(对我们游戏而言),因此我们就先将我们之前做的盾的效果做为技能。
然后我们就简单的用dotween来实现cd效果:
_skillMask.DOFillAmount(0, itemData.CdTime).OnStart(() =>
{
_skillMask.gameObject.SetActive(true);
_skillMask.fillAmount = 1;
}).OnComplete(() =>
{
_skillMask.gameObject.SetActive(false);
_skillMask.fillAmount = 1;
});
接下来就是排行榜功能,先看效果:
也很简单,就是排前10名。
用的是PlayerPrefs来实现的,这边用到了一个小算法,就是每次分数加入进去都要排序,方便我们直接取出来用,然后只保存10个。
List<int> newList = new List<int>();
for (int i = 0; i < 10; i++)
{
newList.Add(PlayerPrefs.GetInt($"Virus_Rank_{i}", 0));
}
int index = -1;
for (int i = 0; i < newList.Count; i++)
{
if(score > newList[i])
{
index = i;
break;
}
}
if (index >= 0)
{
newList.Insert(index, score);
for (int i = index; i < 10; i++)
{
if (newList[i] > 0)
{
PlayerPrefs.SetInt($"Virus_Rank_{i}", newList[i]);
PlayerPrefs.Save();
}
}
}
传送门:独立游戏开发–索引