Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WWW统一:不显示文本_C#_Unity3d_Web - Fatal编程技术网

C# WWW统一:不显示文本

C# WWW统一:不显示文本,c#,unity3d,web,C#,Unity3d,Web,我试图将从通过WWW类链接到数据库的页面中提取的文本分配给我插入Unity中的text(在代码linguaitaliana中) 通过下面提出的脚本,我在Update函数中获取名称,并将其插入IEnumerator函数中 这是我的密码 public class Prova2 : MonoBehaviour { Prova script1; public string name; public Text linguaitaliana=null; IEnumerator

我试图将从通过
WWW
类链接到数据库的页面中提取的文本分配给我插入Unity中的
text
(在代码
linguaitaliana
中)

通过下面提出的脚本,我在
Update
函数中获取名称,并将其插入
IEnumerator
函数中

这是我的密码

public class Prova2 : MonoBehaviour
{
    Prova script1;
    public string name;
    public Text linguaitaliana=null;
    IEnumerator Start()
    {
        Thread.Sleep(1000);
        WWW DataIta = new WWW("http://arnaples.altavista.org/QueryTestoITA.phpnum=" +name);
        Debug.Log("http://arnaples.altavista.org/QueryTestoITA.phpnum=" +name);
        string DataString = DataIta.text;
        Debug.Log(DataString);
        linguaitaliana.text = DataString;
    }

    void Update()
    {
        script1=gameObject.GetComponent<Prova>();
        name=script1.due;
    }
}
结果是正确的

为了完成,这是Inspector中的设置

因此,问题在于印刷。解决方案?

这里有多个问题:

首先

我在Update函数中获取名称,并将其插入IEnumerator函数

不<代码>开始在
更新
之前执行,因此您不会在其中传递名称。无论如何,在每一帧都被调用的
Update
方法中,这是没有意义的,因此将其移动到
开始
的顶部


第二

线程睡眠(1000)毫无意义!我想你需要使用它

为了等一秒钟


最后

您使用创建了一个http请求

WWW DataIta = new WWW("http://arnaples.altavista.org/QueryTestoITA.phpnum=" +name);
但你不能等到下载完成。你应该这样做

using(WWW DataIta = new WWW("http://arnaples.altavista.org/QueryTestoITA.phpnum=" + name))
{
    yield return www;

    // use result
}
总的来说,我建议使用而不是
WWW
,因为WWW已经过时,将来可能会被删除。并检查下载或连接错误

public class Prova2 : MonoBehaviour
{
    Prova script1;
    public string name;
    public Text linguaitaliana=null;
    IEnumerator Start()
    {
        script1=gameObject.GetComponent<Prova>();
        name=script1.due;

        yield return new WaitForSeconds(1);

        using (var webRequest = UnityWebRequest.Get("http://arnaples.altavista.org/QueryTestoITA.phpnum=" + name))
        {
            // Request and wait for the desired page.
            yield return webRequest.SendWebRequest();

            if (webRequest.isNetworkError || webRequest.isHttpError)
            {
                Debug.LogFormat(this, "Download error due to {0} - {1}", webRequest.responseCode, webRequest.error);
            }
            else
            {
                Debug.Log("Download complete: " + webRequest.downloadHandler.text, this);
                linguaitaliana.text = webRequest.downloadHandler.text;
            }
        }
    }
}
公共类Prova2:单一行为
{
普罗瓦脚本1;
公共字符串名称;
公共文本linguaitaliana=null;
IEnumerator Start()
{
script1=gameObject.GetComponent();
name=script1.due;
返回新的WaitForSeconds(1);
使用(var webRequest=UnityWebRequest.Get)(“http://arnaples.altavista.org/QueryTestoITA.phpnum=“+姓名))
{
//请求并等待所需页面。
返回webRequest.SendWebRequest();
if(webRequest.isNetworkError | | webRequest.isHttpError)
{
LogFormat(这是“由于{0}-{1}导致的下载错误”,webRequest.responseCode,webRequest.error);
}
其他的
{
Log(“下载完成:”+webRequest.downloadHandler.text,this);
linguaitaliana.text=webRequest.downloadHandler.text;
}
}
}
}


注意:在智能手机上输入,因此没有保修,但我希望这个想法变得清晰

嗨,请先回答您的问题,然后以文本形式发布您的代码。当前的图像链接现在应该修复:)谢谢。对不起,这是我的第一篇文章。我很抱歉!这个
线程.Sleep(1000)
应该做什么?是否要
返回新的WaitForSeconds(1)也许?
using(WWW DataIta = new WWW("http://arnaples.altavista.org/QueryTestoITA.phpnum=" + name))
{
    yield return www;

    // use result
}
public class Prova2 : MonoBehaviour
{
    Prova script1;
    public string name;
    public Text linguaitaliana=null;
    IEnumerator Start()
    {
        script1=gameObject.GetComponent<Prova>();
        name=script1.due;

        yield return new WaitForSeconds(1);

        using (var webRequest = UnityWebRequest.Get("http://arnaples.altavista.org/QueryTestoITA.phpnum=" + name))
        {
            // Request and wait for the desired page.
            yield return webRequest.SendWebRequest();

            if (webRequest.isNetworkError || webRequest.isHttpError)
            {
                Debug.LogFormat(this, "Download error due to {0} - {1}", webRequest.responseCode, webRequest.error);
            }
            else
            {
                Debug.Log("Download complete: " + webRequest.downloadHandler.text, this);
                linguaitaliana.text = webRequest.downloadHandler.text;
            }
        }
    }
}