Steam的成就系统还是比较简单好做的,大部分API都已经弄好了。
这里就把大概流程总结一下,方便以后查阅。
在Steamworks网页的成就面板中,可以添加成就,默认是英文的。
点击新成就可以添加一个成就:
这个表格还是比较清晰的。值得注意的是,这个API名称就是你在程序里需要用到的名字,所以这个命名一定要规范。然后显示名称和描述就随便填了,看策划的配置。
然后还有一个进度状态,一开始时没有进度的,只能选无。
这个进度需要在统计选单里设置:
然后添加一个新的统计数据:
之后你在成就里的进度状态就可以选这个统计数字:
这样在Steam里面的成就设置就完成了。
然后依次完成以下步骤:
1、在语言选单中选择你需要支持的语言,然后保存。
2、下载本地化数据,一般最开始就是英文的。
这是一个vdf文件,你可以用notepad++之类的编辑:
把上面的语言值改成schinese,然后把你后面的Name、Desc全部改了。然后把你的文件名的后缀也改成schinese,最后上上传;
3、上传
如果你的vdf文件编写没有问题,那么可以直接上传成功。
众所周知,Steam的原生SDK是C++,所以在Unity一般会有个第三方的SDK。这个就很多了,这里不做介绍,这里简单说下在Unity里的操作吧:
//获取当前统计结果;
SteamUserStats.GetStat(string API_NAME,out int val);
//设置新的统计结果
SteamUserStats.SetStat(string API_NAME,int val);
//获得当前成就状况
SteamUserStats.GetAchievement(string API_NAME, out bool ret);
//将当前成就设置为已完成
SteamUserStats.SetAchievement(string API_NAME);
//将当前成就清除
SteamUserStats.ClearAchievement(string API_NAME);
这就是一写API,只要简单地调用就OK了。