【发布时间】:2017-09-12 17:57:05
【问题描述】:
现在,我有一个多人游戏,玩家向其他有一定数量气泡的玩家发射射弹。一旦玩家失去了所有的泡泡,他们就输了。
我之前遇到的问题是,在一个屏幕上,第一个玩家可以射出第二个玩家的气泡,但并非第二个玩家屏幕上的所有气泡都会弹出,所以我正在尝试通过网络同步它不知何故。
我看到的问题是 NetworkServer.Destroy 需要通过其 NetworkIdentity 找到您打算销毁的 GameObject,但仅允许根 Player GameObject 具有 NetworkIdentity 组件。我可以同步销毁玩家的子对象的最佳方式是什么?
【问题讨论】:
-
我对网络不太熟悉,但这里有一个可能的解决方案的建议。 docs.unity3d.com/Manual/UNetActions.html 您可以给每个子对象一个唯一的非网络 ID 并进行远程操作调用(请参阅链接),然后它会告诉每个客户端/服务器销毁该对象,有点像制作您自己的 NetworkServer.Destroy 调用一种方式。
标签: c# unity3d networking multiplayer unity-networking