我正在尝试使用光子制作一个多人游戏,但我得到了“无法从”字符串“转换为"Photon.RealTime.AppSettings”“错误。这可能是一些愚蠢的事情,所以我提前道歉。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using Photon.Pun;
using Photon.Realtime;
public class MenuControler : MonoBehaviour
{
[SerializeField] private string VersionName = "0.1";
[SerializeField] private GameObject UsernameMenu;
[SerializeField] private GameObject ConnectPanel;
[SerializeField] private InputField UsernameInput;
[SerializeField] private InputField CreateGameInput;
[SerializeField] private InputField JoinGameInput;
private void Awake()
{
// Error happens here
PhotonNetwork.ConnectUsingSettings(VersionName);
}
private void Start()
{
UsernameMenu.SetActive(true);
}
private void OnConnectedToMaster()
{
PhotonNetwork.JoinLobby(TypedLobby.Default);
Debug.Log("Connected");
}
}发布于 2021-03-31 16:43:12
如果您查看文档,PhotonNetwork.ConnectUsingSettings()需要类型AppSettings,但您提供的是类型string。
您可以简单地使用正确的类型,如var appSettings = new AppSettings();
然后为该类分配正确的属性,最后将该对象提供给ConnectUsingSettings(appSettings)
发布于 2021-04-01 00:50:23
这是一个双关语经典遗留代码。正如您可以在PUN Classic to PUN 2 Migration Notes上看到的:"PhotonNetwork.ConnectUsingSettings()不再接受gameVersion参数。“由于AppSettings是一个可选参数,因此只需调用不带参数的PhotonNetwork.ConnectUsingSettings(),双关语2将使用PhotonServerSettings。
https://stackoverflow.com/questions/66884200
复制相似问题