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

(61评价)
价格: 2150.00元
老师,局域网联机的时候,player prefab上挂个button没什么效果
rochester发起了问答2018-04-16
3
回复
949
浏览

有个问题请教下,我在做官方unet 局域网联机教程的时候,在player身上挂了个button,然后希望按下脚本可以发射子弹,结果在服务端(host)可以实现,但是客户端(client)却无法实现,具体是子弹只能出现在客户端,服务端没有出现。

报错如下:NetworkServer is not active. Cannot spawn objects without an active server. 这个要怎么修改?

(注: 我改成用按钮发射子弹的话,服务端和客户端都没有问题,所以是否button 不算player?还是不能调用Cmd 函数?)

所有回复
  • siki 2018-04-17

    可能是因为你把button放在的player上,由于你有多个player,导致多个player身上的button都同时运行了而产生了冲突

    所以你要保证只有本地player身上的button的运行

    还有-5条回复,点击查看
    你还没有登录,请先登录注册
  • rochester 2018-04-17

    老师,你说的确实是,我看到每个player身上都挂着button,但我用了

     [Command]
        public void Cmdborn_robot()

        {
            if (isLocalPlayer == false)
            {
                return;
            }
            GameObject player_go = Instantiate(player_111, new Vector3(Random.Range(0, 6), 0, Random.Range(0, 6)), Quaternion.identity);
            NetworkServer.Spawn(player_go);

       }

    好像所有的button都点击无效了,无法调用Cmdborn_robot(), 也没有player_go出现。这个要怎么修改?

    • siki 2018-04-18

      button点击是怎么调用到cmdborn_robot的呢,先解决button点击无效的问题,是不是点击事件注册的问题

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