关于PGMMVJH的SteamWorksApi支持
关于PGMMVJH的SteamWorksApi支持
这是基于 Pixel Game Maker MV Player Open Source Edition 修改的 JHVersion,加了成就相关的 Steamworks API 的 jsb 绑定。
下载替换
编译好的版本下载 PGMMVJH/releases
- 解压下载的
PGMMVJH.zip压缩包 - 打开
Pixel Game Maker安装目录,使用player-win文件夹替换Pixel Game Maker安装目录中的player-win文件夹。 - 检查
player-win文件夹中的steam_appid.txt,修改为需要调试的游戏id,没有可以填480用于测试 - 打开
Pixel Game Maker安装目录的resource文件夹,使用debugMenuRuntime.zip和runtime.zip文件替换官方的文件
480是官方案例中用于测试的游戏id
使用Steamworks js Api
所有 API 都在 Agtk.steam 对象下,详情请看github中的调用文档SteamInterfaceDesc
初始化
在Pixel Game Maker的对象面板新建一个对象(或者用现有的),添加其他运行动作,选择执行脚本,填下面的代码:
// 看看你的可执行文件是否通过 Steam 启动(可以忽略这一步)
var steamAppId = 2692950;
Agtk.log("[STEAM]steam初始化情况:" + Agtk.steam.steamapi_restarappifnecessary(steamAppId)); // 输出: true 或 false
// 执行初始化
var result = Agtk.steam.steamapi_init();
Agtk.log("[STEAM]steam初始化情况:" + result);
触发成就解锁
和上一步一样,用下面的 JS 代码:
Agtk.log("[STEAM]准备解锁成就");
var achievementName = "NEW_ACHIEVEMENT_1_3";
var unlockResult = Agtk.steam.steamuserstats_unlockedachievement(achievementName);
if(unlockResult && Agtk.steam.steamuserstats_storestats()){
Agtk.log("[STEAM]解锁成就" + achievementName + "成功");
}else{
Agtk.log("[STEAM]解锁成就" + achievementName + "失败");
}
使用调试参数单独调试
- 在 Steam 中找到
Pixel Game Maker的安装目录 - 选择在安装目录下的
player-win文件夹中的player.exe创建桌面快捷方式 - 找到项目的目录下的
test.json文件例如C:/Users/Jerry/Documents/PGMMV/Project2/data/test.json - 现在修改刚刚创建的快捷方式属性中的目标属性如下所示
"I:\SteamLibrary\steamapps\common\Pixel Game Maker\player-win\player.exe" 0 C:/Users/Jerry/Documents/PGMMV/Project2/data/test.json zh_CN 0该方式可以脱离
Pixel Game Maker调试Steamworks api
每次有修改需要在Pixel Game Maker中点击试玩游戏(F5)等待Pixel Game Maker试玩窗口打开后关闭再启动快捷方式才能使用最新修改调试
这套方法只是用来调试 Steamworks api 的——直接在Pixel Game Maker里按试玩游戏(F5)是测不了 Steamworks api 的
编译指南
拉取github中的代码 JHPGMMV 下载SteamWorks SDK
- 把压缩包解压后的
sdk/public/steam复制到项目的Player/Classes/External目录 - 把压缩包解压后的
sdk/redistributable_bin复制到项目的Player/Classes/External/steam目录 - 在项目的
Player/Classes/External/steam下创建steam_appid.txt文件 - 修改上一步创建的
steam_appid.txt文件,填入你的steam游戏ID,没有可以填480用于测试
480是官方案例中用于测试的游戏id
Steamworks SDK 访问协议:Steamworks SDK Access Agreement
更多版本下载:steamworks sdk downloads list
打开项目里的install目录,运行build_player_buildCache.bat编译。成功后在同目录下会生成player、debugMenuRuntime、runtime三个文件夹,按官方说明替换编辑器里的对应文件就行。
编译文件替换官方版本player.exe
- 打开
Pixel Game Maker安装目录,使用player文件夹里面的内容替换Pixel Game Maker安装目录player-win中的内容。 - 分别压缩上一步编译生成的
debugMenuRuntime和runtime目录生成debugMenuRuntime.zip和runtime.zip文件 - 打开
Pixel Game Maker安装目录的resource文件夹,使用debugMenuRuntime.zip和runtime.zip文件替换官方的文件
项目的由来
感谢 VUEKO 的支持,才有了这个支持 Steam 成就的引擎版本。可以购买游戏来支持 VUEKO: Welcome to Planet E1d0r4d0!
以及 VUEKO 的新作品: To the Stars
Thanks to VUEKO’s support, this engine version with Steam achievements is now possible. You can support VUEKO by purchasing his games: Welcome to Planet E1d0r4d0! To the Stars
我的 discord:discord