有个问题请教下,我在做官方unet 局域网联机教程的时候,在player身上挂了个button,然后希望按下脚本可以发射子弹,结果在服务端(host)可以实现,但是客户端(client)却无法实现,具体是子弹只能出现在客户端,服务端没有出现。
报错如下:NetworkServer is not active. Cannot spawn objects without an active server. 这个要怎么修改?
(注: 我改成用按钮发射子弹的话,服务端和客户端都没有问题,所以是否button 不算player?还是不能调用Cmd 函数?)
可能是因为你把button放在的player上,由于你有多个player,导致多个player身上的button都同时运行了而产生了冲突
所以你要保证只有本地player身上的button的运行
老师,你说的确实是,我看到每个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出现。这个要怎么修改?