【Steam】成就系统的制作及本地化

(159) 2024-04-19 12:01:01

 

Steam的成就系统还是比较简单好做的,大部分API都已经弄好了。

这里就把大概流程总结一下,方便以后查阅。

 

1、SteamWork的设置

在Steamworks网页的成就面板中,可以添加成就,默认是英文的。

点击新成就可以添加一个成就:

【Steam】成就系统的制作及本地化 (https://mushiming.com/)  第1张

这个表格还是比较清晰的。值得注意的是,这个API名称就是你在程序里需要用到的名字,所以这个命名一定要规范。然后显示名称和描述就随便填了,看策划的配置。

然后还有一个进度状态,一开始时没有进度的,只能选无。

这个进度需要在统计选单里设置:

【Steam】成就系统的制作及本地化 (https://mushiming.com/)  第2张

然后添加一个新的统计数据:

【Steam】成就系统的制作及本地化 (https://mushiming.com/)  第3张

之后你在成就里的进度状态就可以选这个统计数字:

【Steam】成就系统的制作及本地化 (https://mushiming.com/)  第4张

这样在Steam里面的成就设置就完成了。

 

2、成就本地化:

【Steam】成就系统的制作及本地化 (https://mushiming.com/)  第5张

然后依次完成以下步骤:

【Steam】成就系统的制作及本地化 (https://mushiming.com/)  第6张

1、在语言选单中选择你需要支持的语言,然后保存。

2、下载本地化数据,一般最开始就是英文的。

这是一个vdf文件,你可以用notepad++之类的编辑:

【Steam】成就系统的制作及本地化 (https://mushiming.com/)  第7张

把上面的语言值改成schinese,然后把你后面的Name、Desc全部改了。然后把你的文件名的后缀也改成schinese,最后上上传;

3、上传

如果你的vdf文件编写没有问题,那么可以直接上传成功。

 

3、在Unity里的操作

众所周知,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了。

 

 

 

THE END

发表回复