Unity - A计划(永久有效期) 扫二维码继续学习 二维码时效为半小时

(197评价)
价格: 3000.00元
关于NetworkManager和NetworkMangerHUD的问题。
sdhexu发起了话题2017-08-15
2
回复
1409
浏览

大神。照着官方的例子,可以做出来那个用HUD界面的局域网游戏。但是,我想用自己的界面。不用HUD。然后就悲剧了。

我用一个空物体,挂上NetworkManager组件,做成prefab,然后根据用户的选择,去实例化这个prefab,然后GetCommpont<NetworkManager>()获取组件,设置ip、port等参数,然后调用StartHost和StartClient启动网络。

启动没有任何异常,只是,OnServerInitialized/OnPlayerConnected等等这些事件都不触发.....

研究了2天了。。。大神,怎么破??

所有回复
  • siki 2017-08-15
    • NetworkManager.StartClient()
    • NetworkManager.StartServer()
    • NetworkManager.StartHost()
    •  

    是不是这三个函数每调用 

    • sdhexu 2017-08-16

      感谢siki老师百忙之中答复。
      这三个我都调用了。现在我还在啃鸟语的手册。希望您能出一些UNET的教程。因为,官方的例子是在是太简单了,只能了解些皮毛,真正应用的项目上,看哪些官方的例子是不太行。
      我的问题主要有:
      1、假如,服务器和客户机场景不同的情况下(服务器是创建房间的场景,而客户端是加入房间的场景),如何利用unet进行通信,比如所有玩家在房间里聊天、客户端准备、服务端向每个客户端传递当前人数、所有人的准备情况等等。。。我发现UNET的那些组件比如NetworkIdentity,只有在同一个场景中才好使。要不然就会很奇怪。
      2、NetworkManager提供了一个playerPrefab的预制体变量。但是,当客户端接入时,这个预制体是不能马上创建的,因为此时还在房间里,游戏并没有真正开始,只有大家都准备好了,服务器点了开始之后游戏才能开始,所以这个AutoCreatePlayer我是不能勾选的。但是我发现,如果不设定这个,他就不会触发OnPlayerConnectServer...........然后又没有OnClientConnected这样的事件....
      3、当所有人都准备好,服务器点了开始游戏后,全体玩家应该会同时切换场景到游戏场景....这个我不会....或者说看手册还没看到如何同步场景,或者说手册里可能没有....因为我啃鸟语实在是太慢了。

      (0) 回复
    还有-4条回复,点击查看
    你还没有登录,请先登录注册
发表回复
你还没有登录,请先 登录或 注册!