【问题标题】:Photon in Unity is instantiating two players for seemingly no reasonUnity 中的 Photon 似乎无缘无故地实例化了两个玩家
【发布时间】:2019-01-19 16:31:27
【问题描述】:

过去一天我一直在尝试在我的游戏中实现多人游戏,但收效甚微。首先,UNET 没有本地方式来在客户端之间同步规模,现在在我切换到 Photon 之后,我遇到了另一个我似乎无法解决的问题,而且似乎完全没有理由发生。

当我点击播放时,我稍等片刻,两个玩家被实例化。我只打开了一个 Unity 实例,只有一个实例化它的脚本实例,我想不出在我当前的测试区域中会导致两个玩家产生的其他任何东西。

这是我的“NetworkManager”中的代码

const string VERS = "V.0.1";
public GameObject player;
void Start () {
    PhotonNetwork.ConnectUsingSettings(VERS);

}

void OnJoinedLobby()
{
    RoomOptions roomOptions = new RoomOptions() {IsVisible=false,MaxPlayers=1};
    PhotonNetwork.JoinOrCreateRoom("Room1", roomOptions, TypedLobby.Default);

}

void OnJoinedRoom()
{
    PhotonNetwork.Instantiate("Player",GameObject.Find("SpawnPoint").transform.position,Quaternion.Euler(0,0,0),0);
}

void Update () {

}

我已经让它专门寻找“玩家”而不是使用 GameObject 变量的变换名称,以防它出于某种奇怪的原因找到了两个预制件,但事实并非如此。打印语句显示 OnJoinedRoom 被调用了两次,我不明白为什么。

我已在您启动时创建的光子设置对象中将自动加入大厅切换为 true。将其设置为 false 不会实例化任何内容。

【问题讨论】:

    标签: c# unity3d networking photon


    【解决方案1】:

    原来我也将脚本附加到另一个名为 SpawnPoint 的空文件上,但我没有意识到!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多