首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >双关语2 Unity多人FPS UI同步

双关语2 Unity多人FPS UI同步
EN

Stack Overflow用户
提问于 2020-09-29 18:48:27
回答 1查看 427关注 0票数 0

我正在用光子双关语2制作一个多人每秒制游戏,并且一直在关注这个tutorial series by Rugbug Redfern。我正处于开始实现枪械机械和UI (弹药,健康等)的阶段,我有多人游戏,尽管我不完全理解双关语2的内部工作原理。

我的问题是,我试图让一个弹药计数器显示在玩家屏幕上,以显示他们还剩下多少弹药,当超过一个玩家加入游戏时,似乎有多个弹药计数器(见下图左下角),一个是原始玩家,另一个是新加入的玩家,尽管它不会更新,因为它不是跨网络同步的。这显然不好,我真的不知道该怎么办。我有一个玩家预制件,当一个新的玩家加入游戏时得到实例化,有一个UI画布和弹药计数器在该预制件以及。因此,当玩家的两个实例在同一场景中时,有2个画布,因此有2个弹药文本。我该如何确保只有一个,一个属于自己的玩家?单例实现可以工作吗?我是个新手,希望能帮上忙,谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-30 19:22:11

答:如果UI弹药计数器画布是玩家预置的一部分,只需停用其根GameObject,移除它或禁用画布或为远程玩家隐藏它。或者相反,只对本地播放器显示它:默认情况下,它是停用/禁用/隐藏,然后是活动/启用/取消隐藏。

如果你将用户界面的弹药计数器分离到它自己的预制件中,或者甚至让它成为场景的一部分,并在连接时启用/取消隐藏它。

简单地说,不要为远程玩家实例化UI弹药计数器预置。你可能是在OnPlayerEnteredRoom回调中这样做,或者在OnJoinedRoom回调中为所有之前加入的玩家做,不要这样做。

只需为本地播放器做一次,在OnJoinedRoom回调中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64118063

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档