Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用光子统一网络进行统一实时同步(多人游戏)_C#_Unity3d_Server_Multiplayer_Photon - Fatal编程技术网

C# 使用光子统一网络进行统一实时同步(多人游戏)

C# 使用光子统一网络进行统一实时同步(多人游戏),c#,unity3d,server,multiplayer,photon,C#,Unity3d,Server,Multiplayer,Photon,我正在做一个演示项目,我使用Unity 3D和光子Unity网络(PUN)进行实时游戏 顶部面板中的人是一个敌人单位,由另一名玩家控制,该玩家对左下方的玩家造成伤害(左1/3生命)。 然而,右下角的人是一个可以治愈左下角的玩家的治疗者(都由本地玩家控制) 这是我的问题!因为它不是基于回合的,必须实时进行。如何设计我的多人游戏系统?我以前做过基于回合的游戏,我只是通过索引和镜像本地发生的事件,也在远程玩家中 但在这里与延迟的图片,我不知道如何进行! 我想做的是,让治疗者在远程玩家攻击玩家之前在远

我正在做一个演示项目,我使用Unity 3D和光子Unity网络(PUN)进行实时游戏

顶部面板中的人是一个敌人单位,由另一名玩家控制,该玩家对左下方的玩家造成伤害(左1/3生命)。 然而,右下角的人是一个可以治愈左下角的玩家的治疗者(都由本地玩家控制)

这是我的问题!因为它不是基于回合的,必须实时进行。如何设计我的多人游戏系统?我以前做过基于回合的游戏,我只是通过索引和镜像本地发生的事件,也在远程玩家中

但在这里与延迟的图片,我不知道如何进行!
我想做的是,让治疗者在远程玩家攻击玩家之前在远程玩家的手机上对其进行本地治疗,或者在治疗者可以治疗其生命之前杀死该玩家,具体取决于事件发生的时间戳,并在两台设备上反映这一点。

我想你对一些双关连网功能感到困惑

如果治疗者治疗你的本地玩家,那么你的本地玩家的远程实例也会治疗。当然,你的治疗系统必须联网,确保你通过我们的基础教程学习如何实现一个简单的健康系统

比健康管理稍微复杂一点的是玩家和本地治疗者之间的切换。为此,您有两个主要变体

  • 在玩家和治疗者之间转移所有权:(这是v1演示,但原则仍然适用于v2)

  • 拥有一个隐形网络玩家,在游戏中使用你自己的逻辑,让玩家匹配这个隐形网络玩家或治疗者匹配它