我正在为ios创建一个2d游戏。我的游戏使用主机和客户端的方法,在局域网中进行两人对战。
主机在加载下一个场景后等待客户端。问题是两个玩家的场景加载没有同步。这一幕比另一幕开始得早。我想在其他工作之前等待所有玩家加载场景。
我的网络管理器没有分配联机和脱机场景。没有playerprefab也是因为它将被动态添加。我正在使用serverChangeScene()。
我对团结和网络还不太熟悉,所以任何帮助都是值得感谢的。

public override void OnServerConnect (NetworkConnection conn)
{
    base.OnServerConnect (conn);

    print ("OnServerConnect");

    //not localclient(host)
    if (client != null && client.connection != conn) {
        ServerChangeScene ("PlayScene");
    }
}

最佳答案

好吧,既然没有答案,我就用自定义消息处理。我制作了一个加载屏幕,加载异步“playscope”,并将其allowscenactivation设置为false。当客户机调用onclientscenechanged()时,他将向服务器发送一条消息,表明服务器已完成加载场景。服务器将遍历所有客户端以检查是否所有客户端都已完成加载场景,并将答复所有客户端现在都已准备好进行场景激活。

08-26 19:09
查看更多