HI这个项目中有2个脚本 脚本A和脚本B。
脚本A内
public class asd : MonoBehaviour
{
private const string URL = "http://192.168.10.89:8080/GameManage/userInfo/";
public Text responseText;
public Item myItem;
public string[] items;
public string id;
public string coin;
public int idINT;
public int idcoin;
public int score = 100;
public void Request()
{
WWW request = new WWW(URL);
StartCoroutine(onResponse(request));
}
public IEnumerator onResponse(WWW req)
{
yield return req;
responseText.text = req.text;
string banana = responseText.text;
Debug.Log(banana);
items = banana.Split(':', ',');
id = items[1];
idINT = int.Parse(id);
Debug.Log("id is = " + id);
Debug.Log(id.GetType());
Debug.Log("INT id is" + idINT.GetType());
coin = "34";
idcoin = int.Parse(coin);
Debug.Log("Coin is = " + coin);
}
我想从脚本A中获取值,并在脚本B中使用它
public class PostJsonDataScript : MonoBehaviour
{
private asd ASD;
private void Start()
{
ASD = FindObjectOfType<asd>();
}
private void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
Debug.Log(ASD.idINT + " asd int");
}
}
当我从脚本B调试日志时,我总是得到值0。 为什么我没有从脚本A获得价值
{在特定情况下,应将idINT返回1}
答案 0 :(得分:0)
调试此类问题的一种好方法是使用TryParse方法,在本例中为“ id = items [1]”。
另外,items [1]的字符串输出是什么? 这可能有助于阐明正在发生的事情。