【问题标题】:Unity and Photon Networking - Wait for other playersUnity 和 Photon Networking - 等待其他玩家
【发布时间】:2015-10-11 12:46:53
【问题描述】:
我目前正在尝试通过光子网络将多人游戏选项集成到我的统一游戏中。
但是,我确实有一些问题:我使用 Unity 的新 GUI 系统创建了 GUI。我根本没有使用 OnGui。
我想做的是让用户创建一个房间。在他/她创建房间后,用户将被重定向到某种“等候室”,他在其中等待其他玩家加入。
这样的事情是怎么做的?所有的教程基本上都涵盖了如何直接进入游戏。但我想做的是让他们在这个“等候室”里聚在一起,并在达到最大玩家数后开始游戏(通过切换场景)。
我可以在编辑器中创建一个房间。我还做了一个构建,所以我可以在我的笔记本电脑上测试它。我试图显示更新()内的所有房间。但是,尽管我已经创建了一个房间,但它根本不会显示任何房间。
我想我错过了什么,有什么建议吗?
谢谢!
【问题讨论】:
标签:
networking
unity3d
photon
【解决方案1】:
是什么阻止您使用 Photon 大厅系统?创建房间的玩家坐在房间里等待,而大厅中的其他玩家选择加入哪个房间。
【解决方案2】:
如果你不能使用大厅系统,那么只需循环查看 photonplayers 的数量,看看那里是否只有你们一个人。
if (PhotonNetwork.playerList.Count == 1) Teleport_To_A_Waiting_Zone();
【解决方案3】:
Photon 没有“等候室”或任何类型的前厅大厅。
不在房间时:
- 可以获取房间列表,调用create/join。
进入房间后:
- 嗯..你在房间里:)
我通过在房间上使用“自定义属性”为我的一个游戏伪造了一个“大厅”,当房间创建时,您可以设置一个属性,例如 ["roomState"] = "notready"
然后当所有玩家都在房间里时,改变状态。
您的主循环可以检查属性,如果未设置,则等待或退出循环等。