准备就绪并死亡!(Ready Up And Die!)


description: 由 JesusLuvsYooh / StephenAllenGames.co.uk 撰写

Ready Up And Die! (准备并死亡!)

End Result: (最终结果:)

1: 创建一个“准备就绪”功能,这将阻止玩家移动,直到服务器/主机说开始。

2: 一个“isDead”玩家状态来创建死亡和重生。

Part 1: (部分 1:)

空项目,从 Asset Store/ Discord Releases Unity 包中导入 Mirror。

打开你的场景,本指南将使用 Mirror/Examples/Tanks。

你应该熟悉这些示例,如果不熟悉,请快速玩一下,构建并运行,通过“localhost”连接在同一台 PC 上拥有两个游戏来加入自己。

Mirror/Examples/Tank/Scenes/Scene

Part 2: (部分 2:)

创建一个名为 SceneScript 的脚本,由于本指南修改了 Mirror 示例场景,确保它与 Tank 脚本在同一个文件夹中。

将此脚本添加到场景中的一个游戏对象上,也命名为 SceneScript,这将是我们与玩家链接的画布,同时也是我们的“场景管理器”,然后附加一个 NetworkIdentity 组件,如下所示。

Part 3: (部分 3:)

打开这个 SceneScript.cs,并添加以下代码,部分将被注释以解释 :)

Part 4: (部分 4:)

现在打开 Tank.cs,这是指南中相当于你最终的 PlayerScript。

在 Update 函数中,在 isLocalPlayerCheck 下方添加: if (sceneScript.readyStatus != 1) return;

这将阻止坦克下方的代码(移动和发射项目)在准备就绪之前运行。

在 Tank.cs 的底部添加代码,放在“RpcOnFire”结束之后。

(但仍在 namespace { } 内)

Part 5: (部分 5:)

对于这种死亡和重生的方法,而不是销毁玩家,我们将隐藏并重新显示它。

打开 Tank 玩家预制件,并将两个子对象添加到“Objects To Hide”数组中,“ProjectileMount”只是一个空的位置标记,不需要添加。

Part 6: (Part 6:)

在“isDead”同步变量更改时,hook回调将循环遍历此数组。

创建一个Canvas在场景中,可以通过右键单击,UI Canvas,或者在顶部菜单中选择GameObject,UI,Canvas。 将Canvas缩放器设置为“Scale with Screen Size”,这将有助于保持所有内容在低分辨率和高分辨率屏幕上大小相同,并且最好在添加Canvas内容之前设置。

创建您的Unity Canvas UI,包括一个文本和3个按钮,为了更容易引用,给它们标签。

在这里,我将状态文本放在顶部,将服务器设置准备按钮放在中间,将死亡和重生按钮放在右侧。 之后,将变量设置为正确的UI在您的SceneScript中,如下所示。

Part 7: (Part 7:)

构建并运行!

享受 :)

(为了帮助进行并行测试 - 项目设置,玩家,分辨率和演示,将全屏模式设置为“窗口化”。)

最后更新于

这有帮助吗?