Unity3d 在单个场景中关闭多人游戏连接

Unity3d 在单个场景中关闭多人游戏连接,unity3d,multiplayer,Unity3d,Multiplayer,我有这些关于我已经建立的多人游戏的问题。我看过Unity网站上的多人游戏教程,也看了一些付费的在线多人游戏课程。我仍然不清楚这些问题,所以我在这里提问,希望有人能提供适当的细节: 在多人游戏中,当一个玩家从多人网络中死亡时,我如何移除他?大部分的教程都会再次生成他,所以他们会重新定位。我想把死去的玩家从游戏中完全移除 在多人游戏中,当该设备玩家死亡时,如何关闭多人连接?因为我并没有在同一场景中使用单独的场景进行多人活动,所以我运行的是单人和多人模式的游戏。所以我想关闭多人游戏连接,再次游戏玩家

我有这些关于我已经建立的多人游戏的问题。我看过Unity网站上的多人游戏教程,也看了一些付费的在线多人游戏课程。我仍然不清楚这些问题,所以我在这里提问,希望有人能提供适当的细节:

  • 在多人游戏中,当一个玩家从多人网络中死亡时,我如何移除他?大部分的教程都会再次生成他,所以他们会重新定位。我想把死去的玩家从游戏中完全移除
  • 在多人游戏中,当该设备玩家死亡时,如何关闭多人连接?因为我并没有在同一场景中使用单独的场景进行多人活动,所以我运行的是单人和多人模式的游戏。所以我想关闭多人游戏连接,再次游戏玩家可以连接到新的比赛。下图代表了我的观点:

我有这些关于当前项目实施的问题,希望有人能向我解释。

您可以根据需要在客户端和主机上使用

您可以通过在玩家游戏对象上使用属性
isClient
isServer
来找出谁是谁

既然你说你想在没有玩家的情况下也能检查这个,你可以在连接后立即存储它

公共枚举连接类型
{
不详,
客户
主办
}
公共静态类WhoAmI
{
公共会话连接类型;
}
而不是玩家对象脚本中的某个地方,例如
Awake
do

WhoAmI.Connection=isServer?主机:ConnectionType.Client;
如果您想在以后再次连接,可以使用相反的方法,

您可以根据需要在客户端和主机上使用

您可以通过在玩家游戏对象上使用属性
isClient
isServer
来找出谁是谁

既然你说你想在没有玩家的情况下也能检查这个,你可以在连接后立即存储它

公共枚举连接类型
{
不详,
客户
主办
}
公共静态类WhoAmI
{
公共会话连接类型;
}
而不是玩家对象脚本中的某个地方,例如
Awake
do

WhoAmI.Connection=isServer?主机:ConnectionType.Client;

如果您想稍后再连接,您可以使用相反的方法,

您使用的是哪个Unity版本/多人游戏?我真的不明白附加的屏幕截图如何帮助表达您的观点。它看起来像是您的
DodgetNetworkManager
组件继承自
NetworkManager
?你试过使用吗?首先谢谢你,先生,谢谢你对我的帮助。Unity版本我使用的是2017.3.1p4-是的,DodgelsNetworkManager继承自NetworkManager。目前我正在使用DodgelsNetworkManager.singleton.StopHost();在两个连接的玩家上。我有一个场景,通过这个场景,游戏玩家可以一次又一次地创建比赛,并与远程玩家开始游戏。
StopHost
si当然只有当你是主持人时才允许;)客户必须使用
StopClient
,因此您必须检查您是谁,然后决定使用哪一个。。。但是你应该使用一个专用的服务器设置,而不是因为如果主机停止,那么所有人都会被踢出网络。目前,我正在玩两人的小游戏,所以我需要用一人失败来关闭主机当我在游戏结束时,如何检查此设备是主机还是客户端?因为我根据游戏要求在我的游戏页面上销毁了两名玩家,以便在游戏结束时向玩家展示。你使用的是哪个Unity版本/多人游戏?我真的不明白附加的屏幕截图如何帮助表达您的观点。它看起来像是您的
DodgetNetworkManager
组件继承自
NetworkManager
?你试过使用吗?首先谢谢你,先生,谢谢你对我的帮助。Unity版本我使用的是2017.3.1p4-是的,DodgelsNetworkManager继承自NetworkManager。目前我正在使用DodgelsNetworkManager.singleton.StopHost();在两个连接的玩家上。我有一个场景,通过这个场景,游戏玩家可以一次又一次地创建比赛,并与远程玩家开始游戏。
StopHost
si当然只有当你是主持人时才允许;)客户必须使用
StopClient
,因此您必须检查您是谁,然后决定使用哪一个。。。但是你应该使用一个专用的服务器设置,而不是因为如果主机停止,那么所有人都会被踢出网络。目前,我正在玩两人的小游戏,所以我需要用一人失败来关闭主机当我在游戏结束时,如何检查此设备是主机还是客户端?因为我在我的游戏页面上根据游戏要求销毁了两名玩家,以便在游戏结束时向玩家展示。是的,先生,我得到了您的上述观点…现在在游戏中,我并没有重新启动场景以开始新的比赛和游戏。我坚持使用相同的加载场景-我有多人游戏预制,我一次又一次地实例化。在按照上述回复安全地将两名玩家移出游戏后。现在我可以要求关闭我创建的比赛或房间吗??-否则下一次当玩家连接时,它会发现相同的匹配,并加入到现在是垃圾的比赛中。谢谢你先生的上述回复-我一定会尝试上述答案,然后尽快回复给你,然后我会使此答案正确,以便其他用户也可以跟随。是的,先生,我得到了你的上述观点…现在在游戏中,我并没有重新开始这个场景来开始新的比赛和游戏。我坚持使用相同的加载场景-我有多人游戏预制,我一次又一次地实例化。在安全移除两个