过去的一天,我一直在尝试在游戏中实现多人游戏,但收效甚微。首先,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不会实例化任何内容。
答案 0 :(得分:0)
结果是我也将脚本附加到另一个名为SpawnPoint的空文件中,但没有意识到!