我正在从事一个小型网络项目,并且在通过网络实例化对象时遇到了麻烦。当一个人加入服务器时我没有问题...当第二个人加入时我会遇到问题 - 第二个人仅在第一个人的客户端上实例化,而在第二个玩家的客户端中看不到另一个人。我知道 Network.Instatiate 应该被所有客户调用,即使他们稍后加入,但这对我来说并没有发生......看看:
private void SpawnPlayer()
{
GameObject spawnPoints = GameObject.Find("Spawns");
GameObject player = (GameObject)Network.Instantiate(playerPrefab, spawnPoints.transform.GetChild(Random.Range(0, spawnPoints.transform.childCount - 1)).transform.position, Quaternion.identity,0);
//This is just to assign the current player to the shoot button so it knows which one to shoot from
if (player.GetComponent<NetworkView>().viewID.isMine)
{
EventTrigger trigger = shootButton.GetComponent<EventTrigger>();
EventTrigger.Entry entry = new EventTrigger.Entry();
entry.eventID = EventTriggerType.PointerDown;
currentPlayer = player.GetComponent<Player>();
UnityEngine.Events.UnityAction<BaseEventData> call = new UnityEngine.Events.UnityAction<BaseEventData>(ShootEventMethod);
entry.callback.AddListener(call);
trigger.triggers.Add(entry);
}
}